我正在制作一个简单的PHP邮件发件人,一次将图像发送到多个地址。不知道为什么,但不管我发送给他们的电子邮件经理,电子邮件都会一直到达SPAM文件夹...
以下是我如何调用PHP邮件发件人文件:
$.ajax({ url: 'mail_sender.php?receiver=' + receiver + '&=lang' + lang,
success: function (response)
{
console.log('Mails ' + response);
}
});
这是我的PHP文件结构:
<?php
// Reciever
$_to = $_GET["receiver"];
$_lang = $_GET["lang"];
// subject
$subject = 'My Subject';
// sender
$sender = "sender@sender.es";
// message
$message = '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
<META name="generator" content="HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<img src='."https://www.mysite.es/demo/img/emails/imagen_".$_lang.".jpg".' />
</body>
</html>
';
// To send HTML mail, the Content-type header must be set
$headers = "Reply-To: <sender@sender.es> \r\n";
$headers .= "Return-Path: <sender@sender.es>" . "\r\n";
$headers .= "From: <sender@sender.es>" . "\r\n";
$headers .= "Organization: My organization" . "\r\n";
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8" . "\r\n";
$headers .= "X-Priority: 3" . "\r\n";
$headers .= "X-Mailer: PHP/". phpversion();
// Mail it
$ret = mail($_to, $subject, $message, $headers);
if ( $ret == '' || $ret )
{
echo $ret;
}else{
echo $ret;
}
?>
任何人都可以提供一些线索吗?
非常感谢!
答案 0 :(得分:2)
尝试发送纯文本电子邮件而不是HTML(如果符合您的需要)。根据我的经验,HTML通常会触发垃圾邮件过滤器,但是你真的需要使用HTML来尝试查看mailchimp使用的一些电子邮件模板。
答案 1 :(得分:1)
您的代码似乎没有任何技术上的错误,并且可能有很多原因导致您的电子邮件被垃圾邮件过滤器拒绝,但我的猜测是您的电子邮件内容只是一张图片。这是垃圾邮件过滤器的强大指标。尝试使用文本设计电子邮件,并仅使用图片来支持您的信息。
答案 2 :(得分:0)
问题应该是您服务器的IP。如果提供商收到来自同一IP的大量邮件,则无论发生什么,它都被视为垃圾邮件。
答案 3 :(得分:0)
您应该考虑通过spamassassin测试您的电子邮件,这会根据一组规定为您的电子邮件提供垃圾邮件分数。
许多电子邮件提供商都使用这些工具。
编辑:http://wiki.apache.org/spamassassin/StartUsing可能是一个很好的起点。