Anstatt:
Hello,
Thank you dfasdfasdfasdf asdf asdf asdfas dfs
Please, feelasdf asdf asdf
Die E-Mail, die in meiner Mailbox eingeht, sieht folgendermaßen aus:
<p>Hello,</p>
<p> </p>
<p>Thank you dfasdfasdfasdf asdf asdf asdfas dfs</p>
<p> </p>
<p>Please, feel asdfads fad f</p>
Also, ich denke, das HTML ist für die Funktion wp_mail()
nicht aktiviert? Wie schalten Sie es ein, damit die E-Mail wie gewünscht ankommt und die Tags <p>
und <br>
richtig interpretiert werden?
Ich verwende dies, um meine E-Mails von functions.php
zu senden, wenn der Senden-Button gedrückt wird:
$headers = 'From: XXXXXX.com <[email protected]>' . "\r\n";
$subject = 'Registration from xxxxx.com' . "\r\n";
$message = $result_email_text;
wp_mail($_POST['admin_email'], $subject, $message, $headers );
Der Standardinhaltstyp ist 'text/plain'
, der die Verwendung von HTML nicht zulässt. Sie können den Inhaltstyp der E-Mail festlegen, indem Sie einen Header wie "Inhaltstyp: Text/HTML" einfügen.
$headers = 'Content-type: text/html;charset=utf-8' . "\r\n";
$headers .= 'From: XXXXXX.com <[email protected]>' . "\r\n";
$subject = 'Registration from xxxxx.com' . "\r\n";
$message = $result_email_text;
wp_mail($_POST['admin_email'], $subject, $message, $headers );
Oder Sie können es mithilfe des Filters wp_mail_content_type
einstellen
remove_filter( 'wp_mail_content_type', 'set_html_content_type' );
add_filter( 'wp_mail_content_type', 'set_html_content_type' );
function set_html_content_type() {
return 'text/html';
}
Weitere Informationen finden Sie unter folgendem Link: http://codex.wordpress.org/Function_Reference/wp_mail