我有这段代码
mail($to, 'Some Subject', 'message');
如果$to
是gmail.com
邮件服务器地址,则不会发送邮件,但如果$to
是某个其他邮件服务器,例如mail.ru
,则邮件会成功发送。< / p>
可能的原因是什么?
答案 0 :(得分: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);
}
}
}
答案 1 :(得分:0)
检查您的垃圾邮件箱。 因为这样的服务用于发送大量电子邮件,GMail通常会阻止它。
答案 2 :(得分:0)
在您的电子邮件地址使用的域名的公共域名DNS记录中(如noreply@mydomain.ru),您需要为发送服务器/ IP创建一个SPF记录。
SPF记录可能如下所示:
v=spf1 include:my-php-server.ru ~all