PHP mail()除gmail外不发送电子邮件

时间:2012-04-24 11:20:28

标签: php email

我写了一个邮件脚本;

<?php
$to = 'something@domain.com';
$subject = 'This is subject!';
$body = 'Welcome to our website!';
$headers = 'From: myemail@mydomain.com' . "\r\n" .
        'Reply-To: myemail@mydomain.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
$sent = mail($to, $subject, $body, $headers);
if($sent) {
    echo "Your mail has been sent to ". $to .".";
} else {
    echo "You mail was not sent.";
}
?>

我可以看到回复“你的邮件已被发送到someone@somedomain.com”,因为无论什么电子邮件是但是电子邮件只是,所有情况下都会发送邮件 something@gmail.com但 something@hotmail.com something@yahoo.com或something@domain.com <托管在谷歌应用上 < /强>

我想知道是否有任何服务器配置丢失或服务器已被阻止为hotmail / yahoomail或有任何错误?你们有什么可以帮助/建议我的吗?

我已将我的cPanel邮件配置为在谷歌应用程序中收到,但我认为这无关紧要,因为我正在尝试发送邮件,而不是在此处收到此代码。

是的,我已经尝试检查SPAM / JUNK文件夹并等待很长时间才能看到它们没有交付。 ;(

2 个答案:

答案 0 :(得分:0)

您好请检查发件人电子邮件沙箱,沙盒中可能有邮件,但有一些错误消息。或者可能是在您的主机上反向DNS未正确设置..谢谢。

答案 1 :(得分:0)

您必须在发送前使用密码对您的电子邮件进行身份验证,这样才不会在服务器中阻止。如果您使用像phpmailer这样的邮件类来发送邮件,以下示例将对您有所帮助。

$mail->IsSMTP(); // telling the class to use SMTP  
$mail->Username   = "yourname@yourdomain"; // SMTP account username

$mail->Password   = "yourpassword";        // SMTP account password

Php mailer - 在本网站下载phpmailer SMTP demo - 很好的教程如何使用php邮件发送经过身份验证的邮件。