Enviar um e-mail que contenha uma parte HTML e texto simples

Estou enviando e-mails do meu wordpress usando o plugin SMTP Postman. Eu criei uma function no meu arquivo functions.php que cria um e-mail de registro HTML conforme abaixo:

/* Custom user registration email */ function set_bp_message_content_type() { return 'text/html'; } add_filter( 'bp_core_signup_send_validation_email_message', 'custom_buddypress_activation_message', 10, 3 ); function custom_buddypress_activation_message( $message, $user_id, $activate_url ) { add_filter( 'wp_mail_content_type', 'set_bp_message_content_type' ); $user = get_userdata( $user_id ); return '     Welcome to My Site     '; } 

No entanto, muitos provedores de email verificam o conteúdo do e-mail para um HTML e uma versão em texto simples. Meus e-mails atualmente enviados somente em HTML. Existe uma maneira com minha configuração atual para enviar um HTML e uma versão de texto simples?

Solutions Collecting From Web of "Enviar um e-mail que contenha uma parte HTML e texto simples"

Verifique se você pode se conectar ao phpmailer_init e configurar o AltBody .

 add_action('phpmailer_init', 'add_plain_text'); function add_plain_text($phpmailer) { $phpmailer->AltBody = "This is a text message"; } 

Bônus: passe o seu HTML através de premailer.dialect.ca para renderizar uma versão de texto utilizável e encontre mais informações sobre o e-mail de várias partes em Coisas que eu aprendi sobre construção e codificação de modelos de e-mail HTML .

Atualizar:

O e-mail de teste do Postman é um exemplo de uma mensagem que possui texto e partes html. O tipo de conteúdo é “multipart / alternative”, que é uma extensão MIME.

De acordo com esta pergunta de suporte no Postman SMTP Mailer, a resposta reside no e-mail de teste do Postman e nos sites deste exemplo . Apenas certifique-se de replace o mail por wp_mail .

 //specify the email address you are sending to, and the email subject $email = 'email@example.com'; $subject = 'Email Subject'; //create a boundary for the email. This $boundary = uniqid('np'); //headers - specify your from email address and name here //and specify the boundary for the email $headers = "MIME-Version: 1.0\r\n"; $headers .= "From: Your Name \r\n"; $headers .= "To: ".$email."\r\n"; $headers .= "Content-Type: multipart/alternative;boundary=" . $boundary . "\r\n"; //here is the content body $message = "This is a MIME encoded message."; $message .= "\r\n\r\n--" . $boundary . "\r\n"; $message .= "Content-type: text/plain;charset=utf-8\r\n\r\n"; //Plain text body $message .= "Hello,\nThis is a text email, the text/plain version. \n\nRegards,\nYour Name"; $message .= "\r\n\r\n--" . $boundary . "\r\n"; $message .= "Content-type: text/html;charset=utf-8\r\n\r\n"; //Html body $message .= " Hello, This is a text email, the html version. Regards, Your Name"; $message .= "\r\n\r\n--" . $boundary . "--"; //invoke the PHP mail function wp_mail('', $subject, $message, $headers);