Au lieu de:
Hello,
Thank you dfasdfasdfasdf asdf asdf asdfas dfs
Please, feelasdf asdf asdf
Le courrier électronique qui arrive dans ma boîte aux lettres se présente comme suit:
<p>Hello,</p>
<p> </p>
<p>Thank you dfasdfasdfasdf asdf asdf asdfas dfs</p>
<p> </p>
<p>Please, feel asdfads fad f</p>
Donc, je suppose que le code HTML n’est pas activé pour la fonction wp_mail()
? Comment pouvez-vous l'activer afin que le courrier arrive comme il se doit et que les balises <p>
et <br>
soient interprétées correctement?
J'utilise ceci pour envoyer mon courrier depuis functions.php
lorsque le bouton d'envoi est enfoncé:
$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 );
Le type de contenu par défaut est 'text/plain'
, ce qui n'autorise pas l'utilisation de HTML. Vous pouvez définir le type de contenu de l'e-mail en incluant un en-tête du type "Content-type: text/html".
$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 );
Ou vous pouvez le définir en utilisant le filtre wp_mail_content_type
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';
}
Pour plus de détails, voir le lien suivant: http://codex.wordpress.org/Function_Reference/wp_mail