繁体   English   中英

PHP邮件不发送电子邮件

[英]PHP mail not send emails

我面临PHP mail功能的意外问题。 该脚本将电子邮件发送到所有电子邮件地址,但不发送到我的域。

假设我将电子邮件发送到nitinsoni@gmail.com ,但是将电子邮件发送到nitin@mydomain.com却没有收到。

我正在使用GoDaddy虚拟主机和PHP mail功能。 SMTP在GoDaddy服务器上也不起作用。

PHP代码如下:

<?php

$to      = 'nitin@mydomain.com';
//$to      = 'nitinsonitest@gmail.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: nitinsonitest@gmail.com' . "\r\n" .
    'Reply-To: nitinsonitest@gmail.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

$r  = mail($to, $subject, $message, $headers);
if($r) {
    echo 'mail sent';
}else {
    echo 'not sent';
}
die;

?>

通过PHPMailer SMTP电子邮件无法正常工作:

<?php
echo "<pre>";

//die('ada');
require 'PHPMailerAutoload.php'; 

$mail = new PHPMailer();
$mail->Host = "relay-hosting.secureserver.net"; // your SMTP Server
$mail->IsSMTP();
$mail->PORT = 465;
$mail->SMTPDebug=true;
$mail->SMTPAuth = true; // Auth Type
$mail->SMTPSecure = "ssl";
$mail->Username = "user@gmail.com";
$mail->Password = "password";
$mail->Sender = "user@gmail.com";
$mail->From = "user@gmail.com";
$mail->AddReplyTo("user@gmail.com");
$mail->FromName = "user ";
$mail->AddAddress("recepient@gmail.com");
$mail->IsHTML(true);
$mail->Subject = "Test subject";
$mail->Body='Test Subject';
$mail->WordWrap = 50;
if($mail->Send())
{
    echo"<script>alert('The Form has been posted ,Thank you');</script>"; 
}
else
{
    echo 'mail error';
}

假设我将电子邮件发送到nitinsoni@gmail.com ,但是将电子邮件发送到nitin@mydomain.com却没有收到。

我正在使用GoDaddy虚拟主机和PHP mail功能。 SMTP在GoDaddy服务器上也不起作用。

我怀疑这与使用mailPHPMailer时的编码有什么关系。 只是因为您发送邮件,并不意味着接收方认为该邮件有效。 而且,即使是您的域,接收方也有可能已经决定从随机服务器发送的随机电子邮件就是垃圾邮件。

我在这里发布了更详细的答案 ,但是对于SPAM,基本上可以归结为:您是否为您的域设置了SPF(发件人策略框架)记录? 您是否还为该域设置了PTR(反向DNS)记录

如果您没有SPF或PTR记录,则仅将邮件标记为垃圾邮件的可能性就很高。

如果您真的想从服务器发送邮件,则至少需要获取SPF记录和PTR记录集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM