E-mail enviado do WordPress tem tags html

3

Em vez de:

Hello,

Thank you dfasdfasdfasdf asdf asdf asdfas dfs

Please, feelasdf asdf asdf 

Estou recebendo algo assim no e-mail que chega à minha caixa de correio:

<p>Hello,</p> 
<p>&nbsp;</p> 
<p>Thank you dfasdfasdfasdf asdf asdf asdfas dfs</p> 
<p>&nbsp;</p> 
<p>Please, feel asdfads fad f</p> 

Então, eu acho que o HTML não está ligado para a função wp_mail ()? Como ativá-lo, para que o e-mail chegue como deveria e as tags <p> e <br> sejam interpretadas corretamente?

Estou usando isso para enviar meu e-mail do functions.php quando o botão enviar é pressionado:

   $headers = 'From: XXXXXX.com <info@xxxxx.com>' . "\r\n";
   $subject = 'Registration from xxxxx.com' . "\r\n"; 
   $message = $result_email_text;
   wp_mail($_POST['admin_email'], $subject, $message, $headers );
    
por Derfder 10.10.2013 / 10:26

1 resposta

10

O tipo de conteúdo padrão é 'text/plain' , o que não permite o uso de HTML. Você pode definir o tipo de conteúdo do email incluindo um cabeçalho como "Tipo de conteúdo: text / html"

$headers = 'Content-type: text/html;charset=utf-8' . "\r\n";
$headers .= 'From: XXXXXX.com <info@xxxxx.com>' . "\r\n";
   $subject = 'Registration from xxxxx.com' . "\r\n"; 
   $message = $result_email_text;
   wp_mail($_POST['admin_email'], $subject, $message, $headers );

ou Você pode configurá-lo usando o filtro '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';
}

para mais detalhes, veja o link abaixo enlace

    
por dipali 10.10.2013 / 12:00