我有一段代码,是当新用户在我的网站上创建一个帐户时执行的。该代码从我的网站中获取特定的HTML模板,并用新的客户详细信息替换占位符,然后触发电子邮件。
$email_template = file_get_contents(get_stylesheet_directory_uri() . '/emails/New_user_account_mail.html');
$html = str_replace(
['[user_first_name]', '[user_email]', '[user_security_code]' ],
[ $new_account_first_name, $new_account_email, $url ],
$email_template);
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail( $new_account_email, 'Please activate your account', $html, $headers);
此代码可以正常工作,并且使用标准的admin@mydomain.co.uk电子邮件发送一封电子邮件,但是,一旦我尝试设置“发件人地址”,所有邮件就会立即定向到垃圾邮件文件夹中。
如果我恢复为原始代码,电子邮件将立即发送到普通收件箱。
我一直使用以下方法设置发件人地址:
$headers[] = 'From: my name <welcome@mydomain.co.uk>' . "\r\n";
$headers[] = 'Content-Type: text/html; charset=UTF-8';
可能值得注意的是,我正在使用Mailjet SMTP,并且在我的域中正确配置了SPF和DKIM。
尽管如此,因为我的域已被授权,所以我能够发送包含任何与之相关的电子邮件。不幸的是,事实并非如此。
有没有一种方法可以设置“发件人地址”,而不会使邮件进入垃圾邮件箱?
任何评论/帮助将不胜感激。谢谢。