Mail sendet kein HTML

Okay, ich habe folgendes Problem. Ich versuche eine E-Mail im HTML-Format zu senden. Ich habe eine class erstellt, die eine HTML-Zeichenfolge zurückgibt, und das funktioniert großartig.

Wenn ich diese HTML-Mail als $ -Nachricht in meiner function übergebe, funktioniert das auch. Aber es wird nicht als HTML gesendet, sondern als reiner Text.

Jetzt habe ich folgende Dinge ausprobiert:

1) $headers = array('Content-Type: text/html; charset=UTF-8'); wp_mail($to, $subject, $message, $headers); $headers = array('Content-Type: text/html; charset=UTF-8'); wp_mail($to, $subject, $message, $headers);

2) $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

3) $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

4) function wpse27856_set_content_type(){ return "text/html"; } add_filter( 'wp_mail_content_type','wpse27856_set_content_type' ); function wpse27856_set_content_type(){ return "text/html"; } add_filter( 'wp_mail_content_type','wpse27856_set_content_type' );

Was könnte es sonst sein?

Solutions Collecting From Web of "Mail sendet kein HTML"

Probier diese.

  add_filter( 'wp_mail_content_type', 'wpdocs_set_html_mail_content_type' ); $to = 'sendto@example.com'; $subject = 'The subject'; $body = 'The email body content'; $headers = array('Content-Type: text/html; charset=UTF-8'); wp_mail( $to, $subject, $body , $headers); // Reset content-type to avoid conflicts -- https://core.trac.wordpress.org/ticket/23578 remove_filter( 'wp_mail_content_type', 'wpdocs_set_html_mail_content_type' ); function wpdocs_set_html_mail_content_type() { return 'text/html'; } 

Ich persönlich würde weder die wp_mail , noch die php mail benutzen. Beide geben Ihnen nicht viel Kontrolle über Ihre E-Mails. Wenn Sie HTML-E-Mails senden möchten, empfiehlt es sich, eine reine Text-E-Mail zu senden, damit auch Benutzer, die HTML-E-Mails nicht lesen können, Ihre Nachricht lesen können.

Schau phpmailer , das ist eine sehr gute E-Mail- phpmailer , die dir viel Kontrolle über die E-Mail gibt. Sie können einer HTML-E-Mail reinen Text hinzufügen, einen Absendernamen angeben und nicht nur Ihre E-Mail-Adresse usw.