我尝试使用phpmailer发送电子邮件,但我发送的每封邮件都在垃圾邮件文件夹中完成。
这是代码
require("phpmailer/class.phpmailer.php"); // or wherever you put phpmail.class
$username="xxx";
$password="yyy";
$mail = new PHPMailer;
$mail->isMail();
$mail->IsHTML(true);
$mail->SMTPDebug = 4;
$mail->setFrom('news@lexvirtual.cl', 'Lexvirtual');
$mail->addAddress("roasdf@gmail.com", "hola");
$mail->Subject = 'Nueva postulación lexvirtual.cl';
$mail->AddEmbeddedImage('../assets/img/common/lexvirtual_logo.png', 'logoimg', '../assets/img/common/lexvirtual_logo.png');
$body = file_get_contents('email_templates/register.php');
$body = str_replace('%username%', $username, $body);
$body = str_replace('%password%', $password, $body);
$message = $body;
$mail->msgHTML($message);
if ($mail->send()) {
echo "email enviado";
} else {
echo "email no enviado";
}
我从我的域名发送电子邮件是lexvirtual(我用来发送电子邮件的域名(news@lexvirtual.cl))。
现在我使用html使用模板,但是当我仅使用文本发送电子邮件时,仍然会将电子邮件发送到垃圾邮件。我尝试阅读有关此问题的其他问题,但仍无法解决问题。
有人可以帮我吗?
答案 0 :(得分:0)
要为所有反垃圾邮件机制配置服务器非常困难,您必须确保您的SPF记录正确,您的反向DNS配置正确并且DMARC也不是错误的决定。
因此,在大多数情况下,如果您不想配置所有这些内容,最好通过SMTP将邮件发送给更大的邮件提供商,并让他们发送您的电子邮件。
Phpmailer会通过SMTP将您的邮件发送到另一个提供商:
$phpmailer->IsSMTP();
$phpmailer->SMTPAuth = true;
$phpmailer->Host = "smtprelaypool.ispgateway.de";
$phpmailer->Username = 'mymail@example.com';
$phpmailer->Password = 'MyPassword';
$phpmailer->Port = 25;