0

我有这个代码

mail($to, 'Some Subject', 'message');

如果$togmail.com邮件服务器地址,则不发送邮件,但如果$to是其他邮件服务器,例如mail.ru,消息发送成功。

可能是什么原因?

4

3 回答 3

1

GMail 会阻止小型服务器,因为它们往往会发送大部分垃圾邮件。

编辑:但我相信我让它工作了一次,一秒钟,我正在搜索相关代码!

我确实剪掉了一点,但应该仍然可以工作。

public function send($sName, $sMail, $sSubject, $aTo, $sContent, $bHtml){
    $this->mailer = 'X-Mailer: PHP/' . \phpversion(). "\n";
    $this->ip = 'X-Sender-IP:' . $_SERVER['REMOTE_ADDR'] . "\n";

    $this->from = 'From:' . $sName . '<' . $sMail . ">\n";
    $this->reply = 'Reply-To:' . $sMail . "\n";
    $this->contentType = "Content-Type: text/html\nContent-Transfer-Encoding: 8bit\n\n";

    $this->from .= $this->reply;
    $this->from .= $this->mailer;
    $this->from .= $this->ip;
    $aAttach = $this->checkAttachement();
    $this->from .= $this->contentType;

    foreach($aTo as $to){
        $to = \trim($to);
        if($to != "" && \strlen($to) > 5){
            mail($to, $sSubject, $sContent, $this->from);
        }
    }
}
于 2012-12-17T20:19:20.770 回答
0

检查您的垃圾邮件箱。由于此类服务用于发送大量电子邮件,GMail 通常会阻止它。

于 2012-12-17T20:20:47.947 回答
0

在您的发件人电子邮件地址使用的域的公共域 DNS 记录中(例如 noreply@mydomain.ru),您需要为您的发送服务器/IP 创建一个 SPF 记录。

SPF 记录可能如下所示:

v=spf1 include:my-php-server.ru ~all

看到这个:http ://en.wikipedia.org/wiki/Sender_Policy_Framework

于 2012-12-17T20:26:17.080 回答