【问题标题】:PHP mail() not sending email except on gmailPHP mail()除了在gmail上不发送电子邮件
【发布时间】:2012-04-24 11:20:28
【问题描述】:

我写了一个邮件脚本;

<?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.comsomething@yahoo.com 或 something@domain.com(托管在谷歌应用程序上)。

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

我已将我的 cPanel 邮件配置为在 google 应用程序中接收,但我认为这并不重要,因为我正在尝试发送邮件,而不是在此处使用此代码接收。

是的,我已尝试检查垃圾邮件/垃圾文件夹,但也等待了很多分钟才发现它们没有送达。 ;(

【问题讨论】:

  • 检查日志中的邮件回复

标签: php email


【解决方案1】:

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

【讨论】:

  • 嗨!在 cPanel 中哪里可以找到“电子邮件发件箱”?
  • 嗨,如果您使用域电子邮件帐户发送电子邮件,那么在 cpanel 中有电子邮件帐户选项,您必须先单击 opn,然后它将显示您可以访问的电子邮件列表mails.else 如果您使用 gmail/yahoo 电子邮件帐户发送邮件,那么您必须使用这些电子邮件发件箱。您的代码适用于 gmail,这意味着代码没有问题,它一定是一些托管 dns 设置问题...谢谢
  • 你有没有找到问题背后的原因..或解决方案
  • 我正在尝试为此目的使用 PHPMailer 类。然而,对于我在这个问题中所说的问题,我仍然没有任何解决方案。我已告知我的服务器支持团队,但我仍在等待他们的回复。
【解决方案2】:

您必须在发送之前使用您的密码验证您的电子邮件,这样它就不会在服务器中被阻止。如果您使用 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 mailer 发送认证邮件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 2014-10-30
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多