Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Hallo,
ich habe mir ein kleines Feature eingebaut, bei dem nach einer bestimmten Aktion eine Mail versandt wird. Hierzu verwende ich folgende Zeile:
PHP-Code:
my_mail($the_user['email'], $subject, $message);
$message wird dabei vorab wie folgt definiert:
PHP-Code:
$message = "Hallo ".addslashes($mybb->user['username']).", unter <a href=\"".$mybb->settings['bburl']."/blablabla.php."\">diesem Link</a> geht es weiter.";
Leider gibt es aber dann in der anschließend empfangenen Mail ein Problem mit den <a>-Tags. die Mail kommt wie folgt an:
Code:
Hallo Testuser, unter <a href="meineURL">diesem Link</a> geht es weiter.
"meineURL" ist ein anklickbarer Link, aber die Tags werden nicht umgewandelt. Muss ich da die Nachricht vorher evtl. noch einmal parsen?
Vielen Dank im Voraus.
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Das MyBB sendet keine HTML-E-Mails.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.443
Themen: 95
Registriert seit: 15.12.2005
MyBB-Version: 1.6.x
07.10.2010, 12:23
(Dieser Beitrag wurde zuletzt bearbeitet: 07.10.2010, 12:28 von querschlaeger.)
(07.10.2010, 10:11)StefanT schrieb: Das MyBB sendet keine HTML-E-Mails.
HTML-Mails gehen, aber das Handling finde ich unpraktisch:
PHP-Code:
/**
* Sends an email using PHP's mail function, formatting it appropriately.
*
* @param string Address the email should be addressed to.
* @param string The subject of the email being sent.
* @param string The message being sent.
* @param string The from address of the email, if blank, the board name will be used.
* @param string The chracter set being used to send this email.
* @param boolean Do we wish to keep the connection to the mail server alive to send more than one message (SMTP only)
* @param string The format of the email to be sent (text or html). text is default
* @param string The text message of the email if being sent in html format, for email clients that don't support html
* @param string The email address to return to. Defaults to admin return email address.
*/
function my_mail($to, $subject, $message, $from="", $charset="", $headers="", $keep_alive=false, $format="text", $message_text="", $return_email="")
{
...
}
Der achte Parameter entscheidet ob die Mail als HTML oder Text rausgeht, was bedeutet, das auch die 7 Parameter davor irgendwie sinnvoll angegeben werden müssen (wobei der neunte Parameter dann auch genutzt werden sollte).
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Du kannst auch "null" als Parameter verwenden, bei denen du nichts eigenes angeben willst.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
07.10.2010, 12:39
(Dieser Beitrag wurde zuletzt bearbeitet: 07.10.2010, 12:39 von Jockl.)
Danke Euch für Eure Antworten!
(07.10.2010, 12:23)querschlaeger schrieb: ..... das auch die 7 Parameter davor irgendwie sinnvoll angegeben werden müssen (wobei der neunte Parameter dann auch genutzt werden sollte).
Das hatte ich gestern schon einmal probiert, aber dann einen Syntax-Fehler produziert. Es war mal wieder viel zu spät für solche Sachen.
(07.10.2010, 10:11)StefanT schrieb: Du kannst auch "null" als Parameter verwenden
Hätte ich mal früher daran gedacht, das wird mein Fehler gewesen sein.
Dann werde ich das mit der HTML-Mail noch einmal probieren. Auf der anderen Seite wird dann vermutlich so eine HTML-Mail auch "zerrissen", wenn der Empfänger nur Text-Mails empfängt, oder?
Vielleicht ist es dann doch besser, sich ein anderes Format für die Nachricht zu überlegen und mit normalen Links zu arbeiten..... *grübel*
Beiträge: 1.443
Themen: 95
Registriert seit: 15.12.2005
MyBB-Version: 1.6.x
Ich wäre mit HTML-Mails sowieso vorsichtig. Gerade in Kombination von PHP mail() landen die gerne mal im Spam-Filter...
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Ich habe mich jetzt gegen HTML entschieden.
Danke Euch noch einmal!