PHP邮件:所有电子邮件都在SPAM文件夹中收到

时间:2012-12-16 19:23:57

标签: php email spam

我正在制作一个简单的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;
}

?>

任何人都可以提供一些线索吗?

非常感谢!

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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

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