如何使用没有 html 标签的 html 模板发送 php 电子邮件?

如何只发送没有标签的内容?


我正在使用以下代码使用 html 模板发送电子邮件。


电子邮件已发送,但在电子邮件正文中,我还获得了所有 HTML 标记(<div>、<p>.. 等等)。


    $message    =   array();

    $message['id'] = $booking_id;

    $message['name'] = $order_info[0]->name;

    $message['email'] = $order_info[0]->email;

    $message['address'] = $order_info[0]->address;

    $message['phone'] = $order_info[0]->phone;

    $message['guests'] = $order_info[0]->total_guest;

    $message['summary'] = $order_info[0]->summary;


    $email_to   =   self::has_get_settings('email');

    $subject    =   "New Booking! - Booking ID. " . $booking_id;

    $from       =   $order_info[0]->email;

    $from_name  =   $order_info[0]->name;


    $template = file_get_contents($controller->plugin_path . 'includes/libraries/email_template.html');


    foreach($message as $key => $value)

    {

        $template = str_replace('{{ '.$key.' }}', $value, $template);

    }


    $headers    =   'From: ' . $from_name . '<' . $from . '>' . "\r\n";

    $headers    .=  'Reply-To: ' . $from_name . '<' . $from . '>';


    wp_mail($email_to,

            $subject,

            $template,

            $headers);


慕桂英4014372
浏览 110回答 3
3回答

慕盖茨4494581

您需要修改您的标题尝试添加:$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";$headers .= "MIME-Version: 1.0\r\n";编辑:我不确定这会对你有帮助,我只是注意到你使用 wordpress 函数而不是普通的 php mail() 函数

素胚勾勒不出你

首先,您需要发送格式良好的 HTML 电子邮件,其次,您需要在电子邮件标题中提及电子邮件正文格式为 HTML 而不仅仅是纯文本:添加这些代码行:$headers .= "MIME-Version: 1.0\r\n";$headers .= "Content-Type: text/html; charset=UTF-8\r\n";以上提示是一般性的,最后,您需要了解更多关于如何发送 HTML 电子邮件的 WP。

慕无忌1623718

Wordpress 默认发送文本邮件(参见https://developer.wordpress.org/reference/functions/wp_mail/)在调用之前尝试添加wp_mail:function wpdocs_set_html_mail_content_type() {&nbsp; &nbsp; return 'text/html';}add_filter( 'wp_mail_content_type', 'wpdocs_set_html_mail_content_type' );在wp_mail被调用之后,添加这个:remove_filter( 'wp_mail_content_type', 'wpdocs_set_html_mail_content_type' );
打开App,查看更多内容
随时随地看视频慕课网APP