我一直在尝试使用PHPMailer通过SMTP发送电子邮件,并且使用HTML。如果我只使用纯HTML,那绝对没问题,但是如果我在正文中包含图片,它会将电子邮件发送到垃圾邮件文件夹。据我使用测试工具所知,该域上已经有SPF。
PHPMailer:
$body = '<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Invite For Interview</title>
<style type="text/css">
#banner {
width:100%;
height:50%;
background-image: url("");
}
#logo {
}
</style>
</head>
<body>
<p>This is a test picture: <img src="cid:logo" /></p>";
</body>
</html>';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'Censored';
$mail->SMTPAuth = true;
$mail->Username = 'Censored';
$mail->Password = 'Censored';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->From = "hr@thamesvalleyrp.com";
$mail->FromName = "TVRP HR";
$mail->addCustomHeader('MIME-Version: 1.0');
$mail->addCustomHeader('Content-Type: text/html; charset=ISO-8859-1');
$mail->AddReplyTo('hr@thamesvalleyrp.com', 'TVRP HR');
$mail->addAddress(getAppDetail($_GET["id"], "Email"), getAppDetail($_GET["id"], "FName") . getAppDetail($_GET["id"], "LName"));
$mail->isHTML(true);
$mail->AddEmbeddedImage('assets/TVRP-Logo.png','logo','logo.png');
$mail->Subject = "Invite For Interview";
$mail->Body = $body;
$mail->AltBody = "You have been invited for an interview. <br>Temporary Password: " . $psw;
我已经尽我所能想到的一切。我要发送的电子邮件中带有一些嵌入在正文中的图像,而不是转到收件人电子邮件的垃圾邮件文件夹中。是的,我知道HTML完全没有完成,我确实有一个完成的版本,但是我只是想在这里找出导致垃圾邮件的原因。
感谢您阅读, 凯