wordpress wp_mail -设置$headers时不工作

c9qzyr3d  于 2023-08-03  发布在  WordPress
关注(0)|答案(3)|浏览(134)

在我的文件中,如果我设置了可选的$headers参数,wp_mail函数不会发送邮件。我只是没收到任何邮件当它设置。但是,如果我把它放在一边,邮件就会到。

$headers = 'From: My Name <myname@example.com>' . "\r\n";
wp_mail($to, $subjects, $message, $headers); // not working
wp_mail($to, $subjects, $message ); // working

字符串
什么会导致这种情况?

myss37ts

myss37ts1#

从你对我问题的回答来看:
您是否使用了准确的From:电子邮件测试?- 匿名
实际上我... - 墨水
您的From:地址似乎与您发送电子邮件的域不匹配。您发送电子邮件的邮件服务器可能在发现您试图伪造发件人地址时拒绝了该电子邮件。

dgiusagp

dgiusagp2#

wp_mail()中删除$header并将其添加到functions.php文件中:

add_filter('wp_mail_from', 'new_mail_from');
add_filter('wp_mail_from_name', 'new_mail_from_name');

function new_mail_from($old) {
    return 'admin@yourdomain.com';
}
function new_mail_from_name($old) {
    return 'Your Blog Name';
}

字符串
来源:
https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_mail_fromhttps://codex.wordpress.org/Plugin_API/Filter_Reference/wp_mail_from_name

rjjhvcjd

rjjhvcjd3#

它需要将发件人地址域与发件人电子邮件和回复电子邮件地址相匹配。
下面是一个完整的例子,包括头,附件。

$from_name = 'name';
$from = 'from@your-domain.com';
$subject = 'test';    
$body = 'Test';
$to = 'test@example.test';
$bcc = 'bccemail@example.text';
$attachments[] = WP_CONTENT_DIR.'/uploads/'.$path_to_file;
$headers[] = 'Content-Type: text/html; charset=UTF-8';
$headers[] = 'From: '.$from_name.' <'.$from.'>';
$headers[] = 'Reply-To: '.$from_name.' <'.$from.'>';
//add BCC if want 
$headers[] = 'Bcc: '.$bcc;

$success = wp_mail($to, $subject, $body, $headers, $attachments);

字符串

相关问题