-1

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

4 回答 4

2

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

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

于 2012-12-16T19:35:06.037 回答
1

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

于 2012-12-16T19:33:28.027 回答
0

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

于 2012-12-16T19:26:30.370 回答
0

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

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

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

于 2012-12-16T19:30:54.933 回答