---
title: "Powermail: ###POWERMAIL_ALL### ändern, wo?"
url: "https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo"
source: "typo3.net"
tags: ["Extensions","Frage","Powermail"]
created: "2008-04-27"
last_reply: "2008-05-06"
replies: 16
solved: false
page: 1
pages: 1
lang: "de"
---

# Powermail: ###POWERMAIL_ALL### ändern, wo?

Extensions · 16 Antworten · gestartet 2008-04-27

## Eröffnungsbeitrag

**DiePicknickerin** · 2008-04-27 · [Beitrag #1](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/1)

Hallo,

die Extension ist ja sowas von Klasse! Ich hätte gar nicht erwartet, auch für unerfahrene Admins eine Mail-Funktion bereitstellen zu können.

2 Probleme habe ich noch:

1. Im Template tmpl_all.html möchte ich die Tabellen-Ausgabe in eine Definition List ändern - aber nun werden die Tags komplett umschlossen von <p>-Tags ausgegeben, obwohl ich im Template alles normal von den vorgegebenen Markern umschlossen hatte:

```html
<!-- ###POWERMAIL_ALL### begin -->
	<dl>
    <!-- ###CONTENT### --><!-- ###ITEM### -->
    	<dt>###POWERMAIL_LABEL###</dt>
        <dd>###POWERMAIL_VALUE###</dd>
    <!-- ###ITEM### --><!-- ###CONTENT### -->
    </dl>
	
<!-- ###POWERMAIL_ALL### end -->
```

wird zu:

```html
<p class="bodytext"> <dl></p>
<p class="bodytext" />
<p class="bodytext"> <dt>Ihr Name:</dt></p>
```

und so weiter

2. Ich möchte gerne noch eine mx-Records-Abfrage beim Email-Check haben, damit so Sachen wie foo@foo.bar nicht mehr ankommen können. Die schlüpfen nämlich bei fast allen Checks durch die Email-Validierung...

Wo könnte ich das einfügen?

Danke schon mal im voraus und noch mal: Kompliment und Hochachtung!

Gruß vom Sonntags-Picknick

## Antworten

### [#2](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/2) · einpraegsam.​net · 2008-04-28

1. Wir sind auch nicht glücklich mit der momentanen Lösung - eventuell werden wir da nochmal nachlegen

Probier mal:

```html
<!-- ###POWERMAIL_ALL### begin --><dl><!-- ###CONTENT### --><!-- ###ITEM### --><dt>###POWERMAIL_LABEL###</dt><dd>###POWERMAIL_VALUE###</dd><!-- ###ITEM### --><!-- ###CONTENT### --></dl><!-- ###POWERMAIL_ALL### end -->
```

2. Wäre ein Feature das sich einbauen ließe...

### [#3](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/3) · DiePicknickerin · 2008-04-28

zu 1.: Mhm... nein leider nicht. Die Ausgabe gibt das HTML mit aus.

Wobei das unterschiedlich ist: in der Confirmation-Ansicht wird ja auf das gleiche Template zurückgegriffen - jedenfalls ist es so eingestellt.

Dort bekomme ich ganz korrekt:

```html
<div class="tx-powermail-pi1_confirmation">
		<p>Sind diese Angaben korrekt?</p>
		
		<p><dl><dt>Ihr Name:</dt><dd>momo</dd><dt>Ihre Email-Adresse:</dt><dd>email@gmail.com</dd><dt>Ihre Nachricht:</dt><dd>jfkd lajkfdlö</dd></dl></p>

		
		<form name="kontakt_confirmation_back" action="index.php?id=29" method="post" class="tx_powermail_pi1_formconfirmation_back">
			<input type="submit" value="Zurück" class="tx-powermail-pi1_confirmation tx-powermail-pi1_confirmation_back" />
		</form>
		<form name="kontakt_confirmation_submit" action="index.php?id=29&tx_powermail_pi1[mailID]=157&tx_powermail_pi1[sendNow]=1&cHash=6c36791770" method="post" class="tx_powermail_pi1_formconfirmation_submit">
			<input type="submit" value="Angaben abschicken" class="tx-powermail-pi1_confirmation tx-powermail-pi1_confirmation_submit" />
		</form>
	</div>
```

Das klappt also völlig korrekt, bis auf 2 x form für jeweils einen Button. Aber die thx-Ansicht sieht dann wieder so aus:

Vielen Dank für Ihre Nachricht. Sie haben folgende Eingaben gemacht:
<dl><dt>Ihr Name:</dt><dd>momo</dd><dt>Ihre Email-Adresse:</dt><dd>email@gmail.com</dd><dt>Ihre Nachricht:</dt><dd>dudeldaddeldu</dd></dl>

Was kann das denn sein? Das sollte sich doch anpassen lassen!? Kann es sein, dass er einfach überflüssigerweise das komplette Template nochmal parst und deshalb diese <p class="bodytext"> inklusive html-Quelltext ausgibt?

//edit: die HTML-Emails kommen übrigens auch mit HTML-Fehler an...

Danke nochmal und Gruß!

### [#4](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/4) · einpraegsam.​net · 2008-04-28

> **DiePicknickerin schrieb:**
>
> Kann es sein, dass er einfach überflüssigerweise das komplette Template nochmal parst...

Japp, einmal für den RTE und einmal im HTML Template - das macht schon Sinn, jedoch nur bedingt...

### [#5](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/5) · DiePicknickerin · 2008-04-28

Warum kann dann das Original-Template korrekt arbeiten?

Das tut doch auch nix anderes, als eine HTML-Struktur vorzugeben... o.O

Bleibt es also dabei, dass ich vorerst das tmpl_all.html nicht abändern kann?

### [#6](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/6) · einpraegsam.​net · 2008-04-28

> **DiePicknickerin schrieb:**
>
> Bleibt es also dabei, dass ich vorerst das tmpl_all.html nicht abändern kann?

Du kannst das Template ändern wie du willst...

### [#7](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/7) · DiePicknickerin · 2008-04-28

:o   naja, das hatte ich ja auf dem üblichen Weg versucht... Gibts noch einen heißen Tipp?
 #paralyzed#

Aus den BE-Feldern dann ###POWERMAIL_ALL### rausnehmen und einzelne UIDs nehmen, oder wie?

Gruß

### [#8](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/8) · einpraegsam.​net · 2008-04-28

> **DiePicknickerin schrieb:**
>
> :o   naja, das hatte ich ja auf dem üblichen Weg versucht... Gibts noch einen heißen Tipp?
>  #paralyzed#
>
> Aus den BE-Feldern dann ###POWERMAIL_ALL### rausnehmen und einzelne UIDs nehmen, oder wie?
>
> Gruß

Das geht natürlich auch

### [#9](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/9) · DiePicknickerin · 2008-04-28

OK, ich habs gelöst - die Idee mit dem RTE war natürlich schon mal richtig. Ich hatte allerdings noch nicht die Definition Lists im RTE selbst erlaubt - daher noch die unnötige Umklammerung. Nachdem ich erstmal in der Ext. selbst gewühlt hatte, kam ich doch noch drauf:

im PageTS der Root-Seite hatte ich bereits Formatierungen für den RTE eingefügt. Aber im TS-Template noch nicht:

Also schnell noch

```typoscript
# do not wrap with <p...>:
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.encapsTagList = dl, dt, dd, cite, div, p, pre, hr, h1, h2, h3, h4, h5, h6,table,tr,td

und 
#allowed tags in RTE-Fields:
lib.parseFunc_RTE.allowTags = dl, dt, dd, b,i,a,img,br,div,center,hr,sub,sup,p,strong,em,li,ul,ol,blockquote,span,h1,h2,h3,h4,h5,h6,acronym,abbr;
```

Und dann klappts auch mit dem Template...

Danke nochmal für die Geduld     ;-)

### [#10](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/10) · einpraegsam.​net · 2008-04-28

> **DiePicknickerin schrieb:**
>
> 2. Ich möchte gerne noch eine mx-Records-Abfrage beim Email-Check haben, damit so Sachen wie foo@foo.bar nicht mehr ankommen können...

Habe ich erstellt - hier der Workarround bis zur nächsten Version:

1. Neue Funktion in die Datei lib/class.tx_powermail_functions_div.php

```php
// Function checkMX() checks if a domain exists
	function checkMX($email,$record = 'MX') {
		list($user,$domain) = split('@',$email); // split email in user and domain
		
		if (checkdnsrr($domain,$record) == 1) return TRUE; // return true if mx record exist
		else return FALSE; // return false if not
	}
```

2. Funktion emailCheck() mit neuem Code ersetzen - Datei pi1/class.tx_powermail_mandatory.php

```php
function emailCheck() {
		if($this->pibase->cObj->data['tx_powermail_sender'] && is_array($this->sessionfields)) { // If email address from sender is set in backend
			if($this->sessionfields[$this->pibase->cObj->data['tx_powermail_sender']]) { // if there is content in the email sender field
				if(!t3lib_div::validEmail($this->sessionfields[$this->pibase->cObj->data['tx_powermail_sender']])) { // Value is not an email address
					$this->sessionfields['ERROR'][str_replace('uid','',$this->pibase->cObj->data['tx_powermail_sender'])][] = $this->pi_getLL('error_validemail'); // write error message to session
				} else { // Syntax of email address is correct - check for MX Record
					if( !$this->div_functions->checkMX( $this->sessionfields[$this->pibase->cObj->data['tx_powermail_sender']] )) $this->sessionfields['ERROR'][str_replace('uid','',$this->pibase->cObj->data['tx_powermail_sender'])][] = $this->pi_getLL('error_nomx'); // write error message to session
				}
			}
		}
	}
```

Grüße, Alex

### [#11](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/11) · DiePicknickerin · 2008-05-02

Vielen Dank, Alex.

Die beiden Code-Abschnitte habe ich integriert und auch das funktioniert. Jetzt bleibt lediglich, noch die Fehlermeldung an zu passen.

SUPER!

### [#12](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/12) · einpraegsam.​net · 2008-05-02

Fehlermeldung lässt sich über die locallang.xml oder via typoscript anpassen

### [#13](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/13) · DiePicknickerin · 2008-05-03

Ja, das hattest du ja schon so schön vorbereitet  ;)

Du hattest in der class.tx_powermail_mandatory.php schon eingefügt: $this->pi_getLL('error_nomx');

Einfach neue Labels erstellen nach dem vorhandenen Muster:

```php
<label index="locallangmarker_error_validemail">This is not a valid email address:</label>
<label index="locallangmarker_error_nomx">This email address seems to be not available:</label>
```

hat aber leider noch nicht geholfen. Ich bekomme nach Absenden des Formulars zwar: Bitte beachten Sie folgende Fehlermeldungen:
und eine ungeordnete Liste, aber der Listenpunkt für die Email-Fehlermeldung ist leider leer.

(innerhalb der locallang.xml für Deutsch und Englisch erstellt, Französich und niederländisch kann ich leider nicht, die haben daher die englischen gekriegt.)

Ich habe auch die
<label index="JSvalidation_label_error_nomx">This email address seems to be invalid or not available</label> eingefügt für die JS-Prüfung, aber da passiert auch nix.

Wo ist mein Fehler?

Innerhalb von TS habe ich dagegen gar keine Änderung vorgenommen. Wo würde ich das tun?

Gruß, nochmals auf Hilfe hoffend...

### [#14](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/14) · einpraegsam.​net · 2008-05-03

Sorry, hatte ich vergessen zu schreiben - das muss noch in die pi1/locallang.xml:

```html
<label index="error_nomx">Email address don't exist</label>
```

Bei Interesse kann ich dir auch die Powermail 1.2.0 beta zur Verfügung stellen, dort ist das (und noch einiges mehr) schon mit drin...

### [#15](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/15) · einpraegsam.​net · 2008-05-06

Nachtrag:
Wenn du die 1.2.0 nutzt, hast du den MX Check und überflüssige p-Tags in Mails entfernt

### [#16](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/16) · DiePicknickerin · 2008-05-06

HERVORRAGEND!

Ich habe natürlich gleich ein Update gemacht. Nochmal ganz vielen lieben Dank!

Wo kann ich spenden?

### [#17](https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo/17) · einpraegsam.​net · 2008-05-06

> **DiePicknickerin schrieb:**
>
> Wo kann ich spenden?

Na da werden Änderungswünsche noch fixer umgesetzt *lach*

Grüße, Alex

---

Quelle: „Powermail: ###POWERMAIL_ALL### ändern, wo?“, typo3.net, https://www.typo3.net/d/76604-powermail-powermail-all-aendern-wo
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
