drupal_mail_sent(): HTML von E-Mails wird nicht gerendert, sondern im Klartext angezeigt
am 13.07.2010 - 20:56 Uhr in
Hallo,
ich verwende die Funktion drupal_mail_sent(); zum Versenden von E-Mails, aus meinem Modul heraus. Das reine Versenden klappt anhand dieses Beispiels auch:
<?php
$message = array(
'to' => test@test.de,
'subject' => 'Grüße aus Holland.',
'body' => 'Hallo, <br /> schöne Grüße aus Holland.<p>
Euer Rudi.
</p>
',
'headers' => array('From' => 'rudi@angelausflug.de'),
);
drupal_mail_send($message);
?>
Die <br />-
und <p>-Tags
werden jedoch im Klartext dargestellt und nicht mit HTML gerendert. Selbiges mit allem anderen HTML. Ich habe mir mit der Quelltextansicht von Thunderbird 3 eine E-Mail angesehen, die von Ubercart versendet wurde. Da gab es keinerlei HTML-Headertags, nur eine Tabelle und trotzdem wurde das HTML gerendert. Was mache ich falsch?
Nachtrag: Mit dem Steuerungszeichen \n habe ich statt der Tags auch schon einen Zeilenumbruch versucht. Hat allerdings ebenso nicht funktioniert. Würde mich sehr über Hilfe freuen.
Schöne Grüße!
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich weiß jetzt nicht genau,
am 14.07.2010 - 14:09 Uhr
Ich weiß jetzt nicht genau, wie drupal_mail_send intern funktioniert, aber ich weiß, dass es die PHP-Funktion mail() aufruft.
Und ich glaube, dort muss man im Header eine Information unterbringen, ob die eMail als Text oder als HTML versendet wird, wobei Text wohl der Standard ist.
Also müsstest du vermutlich noch im Header die Info unterbringen, dass die eMail als HTML-Mail versendet werden soll.
Dazu musst du dir mal die Dokumentation von mail() anschauen und die Infos entsprechend im Header unterbringen.
Also ich habe es mittlerweile
am 14.07.2010 - 14:34 Uhr
Also ich habe es mittlerweile hinbekommen, nur hatte keine Zeit hier rein zu posten. Danke für den Post. Der Schlüssel zum Erfolg ist das headers-Array. Das sieht also jetzt so aus:
<?php
'headers' => array('From' => 'automailer@test.com','Content-type'=> 'text/html; charset=UTF-8;'),
?>
Damit wird der UTF-8 Zeichensatz benutzt und die Nachricht als HTML-Mail versendet.
- Mein Profil auf Drupal.org
- Mein Profil auf LinkedIn