PHP 邮件:所有电子邮件都接收在垃圾邮件文件夹中



我正在制作一个简单的PHP邮件发送器,一次将图像发送到多个地址。不知道为什么,但是无论我向哪个电子邮件管理器发送它们,电子邮件都会不断到达垃圾邮件文件夹......

以下是我如何调用 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> rn";
$headers .= "Return-Path: <sender@sender.es>" . "rn";
$headers .= "From: <sender@sender.es>" . "rn"; 
$headers .= "Organization: My organization" . "rn";
$headers .= "MIME-Version: 1.0" . "rn";
$headers .= "Content-type: text/html; charset=utf-8" . "rn";
$headers .= "X-Priority: 3" . "rn";
$headers .= "X-Mailer: PHP/". phpversion();
// Mail it
$ret = mail($_to, $subject, $message, $headers);
if ( $ret == '' || $ret )
{
    echo $ret;
}else{
    echo $ret;
}
?>

谁能提供一些线索?

谢谢!

尝试发送纯文本电子邮件而不是 HTML(如果这符合您的需求)。根据我的经验,HTML经常触发垃圾邮件过滤器,但是如果您真的需要使用HTML,请尝试查看mailchimp使用的一些电子邮件模板。

https://github.com/mailchimp/Email-Blueprints

您的代码在技术上似乎没有任何问题,并且您的电子邮件被垃圾邮件过滤器拒绝的原因可能有很多,但我的猜测是您的电子邮件内容只是一个图像。这是垃圾邮件过滤器的有力指标。尝试使用文本设计您的电子邮件,并且仅使用图像来支持您的信息。

问题应该是您服务器的 IP。 如果提供商从同一 IP 接收大量邮件,则无论发生什么,都被视为垃圾邮件。

您应该考虑通过垃圾邮件刺客测试您的电子邮件,这将根据一组给定的规则为您的电子邮件提供垃圾邮件分数。

许多电子邮件提供商使用这些工具。

编辑:http://wiki.apache.org/spamassassin/StartUsing 可能是一个很好的起点。

相关内容

最新更新