O correio não enviará em HTML

4

Ok, recebi o seguinte problema. Estou tentando enviar um email em formato HTML. Eu fiz uma classe que retorna uma string HTML, e isso funciona muito bem.

Quando eu passar esse html-mail como $ message na minha função, também funciona. Mas não será enviado como html, mas texto simples.

Agora eu tentei as seguintes coisas:

1) $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";

3) $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' );

O que mais poderia ser?

    
por Refilon 05.07.2016 / 14:14

2 respostas

1

Tente este.

  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';
    }
    
por WisdmLabs 05.07.2016 / 15:50
0

Eu pessoalmente não usaria a função wp_mail nem a função php mail . Ambos não lhe dão muito controle sobre seu email. Se você quiser enviar emails em HTML, é recomendável enviar um email em texto sem formatação para que os usuários que não conseguirem ler emails em HTML possam ler sua mensagem também.

Dê uma olhada em phpmailer , que é uma ótima aula de envio de e-mail, que lhe dá muito controle sobre o e-mail. Você pode adicionar texto simples a um e-mail em HTML, definir um nome de remetente em vez de apenas ter seu endereço de e-mail e assim por diante.

    
por Sam 08.07.2016 / 13:03