WordPress的邮件头设置其他纯文本

希望得到一些代码的一些帮助,我使用WordPress的主题,它将邮件标题设置为text / html,这会导致纯文本邮件ex出现问题。 linebreaks不再显示。

我试过设置:

} else {
    return 'text/plain';
}

但我不太了解php,所以我不知道应该把它放在哪里才能使它工作。 我想为未定义的邮件设置文本/纯文本。

这是wp头文件的代码:

 /**
 * filter mail headers
 */
function wp_mail($compact) {
    if (isset($_GET['action']) && $_GET['action'] == 'lostpassword') return $compact;
    if ($compact['headers'] == '') {

        //$compact['headers']   = 'MIME-Version: 1.0' . "rn";
        $compact['headers'] = 'Content-type: text/html; charset=utf-8' . "rn";
        $compact['headers'].= "From: " . get_option('blogname') . " < " . get_option('admin_email') . "> rn";
    }

    $compact['message'] = str_ireplace('[site_url]', home_url() , $compact['message']);
    $compact['message'] = str_ireplace('[blogname]', get_bloginfo('name') , $compact['message']);
    $compact['message'] = str_ireplace('[admin_email]', get_option('admin_email') , $compact['message']);

    $compact['message'] = html_entity_decode($compact['message'], ENT_QUOTES, 'UTF-8');
    $compact['subject'] = html_entity_decode($compact['subject'], ENT_QUOTES, 'UTF-8');

    //$compact['message']       =   et_get_mail_header().$compact['message'].et_get_mail_footer();

    return $compact;
}

而不是改变这一点,改变你的普通换行符为html。

$message=nl2br($message); // of course use your var name.

这样你就可以保持电子邮件的标准格式。 在这种情况下,纯文本没有特别需要单独的头文件。 此功能将所有换行符转换为html版本。

除了新行以外,大多数纯文本都会保留其格式,即使在html中也是如此,因为它没有特殊标签。

这里是你将如何放置它

function wp_mail($compact) {
    // leave your existing code intact here, don't remove it.
    $compact["message"]=nl2br($compact["message"]); 
    return $compact;
}
链接地址: http://www.djcxy.com/p/25749.html

上一篇: wordpress mail header set else plain text

下一篇: NSNotificationCenter is calling multiple times