首页 > 解决方案 > WordPress wp_email() 没有正确接受价值

问题描述

我正在发送一封带有wp_mail()以下标题详细信息的功能的电子邮件,但它没有发送电子邮件!

// get header details
$sn_header_name     =   !empty ( get_option( 'sn_header_name' ) ) ? get_option( 'sn_header_name' ) : get_bloginfo( 'name' );
$sn_header_email    =   !empty ( get_option( 'sn_header_email' ) ) ? get_option( 'sn_header_email' ) : get_bloginfo( 'admin_email' );

$headers = array(
    "Content-Type: text/html; charset=UTF-8",
    "From: {$sn_header_name} <{$sn_header_email}>"
);

使用上述标题详细信息 wp_mail()不起作用,但如果我删除此行:

"From: {$sn_header_name} <{$sn_header_email}>"

它正在正确发送电子邮件。

你能告诉我为什么吗?

标签: wordpress

解决方案


标题名称中可能有一些特殊字符或 html 标记会停止发送邮件。你能试试这个吗


// get header details
$sn_header_name     =   !empty ( get_option( 'sn_header_name' ) ) ? get_option( 'sn_header_name' ) : get_bloginfo( 'name' );
$sn_header_email    =   !empty ( get_option( 'sn_header_email' ) ) ? get_option( 'sn_header_email' ) : get_bloginfo( 'admin_email' );
$sn_header_email= esc_attr($sn_header_email);
$sn_header_name = esc_attr($sn_header_name);
$headers = array(
    "Content-Type: text/html; charset=UTF-8",
    "From: {$sn_header_name} <{$sn_header_email}>"
); 

推荐阅读