【问题标题】:Why sending email doesn't work? [duplicate]为什么发送电子邮件不起作用? [复制]
【发布时间】:2016-09-18 15:40:55
【问题描述】:

我使用 XAMPP,并根据this answer 设置了我的配置。这也是我的脚本:

$msg = "First line of text\nSecond line of text";
$msg = wordwrap($msg,70);
mail("someone@example.com@gmail.com","My subject",$msg);

当我执行它时,结果是一个没有任何错误的空白页。但我在该 gmail 的收件箱中没有看到任何新电子邮件。出了什么问题,如何找到问题所在?

注意事项:

  • 我通过多个不同的 gmail 帐户对其进行了测试。
  • 我在脚本中设置了error_reporting(E_ALL); 以查看任何错误。 (没有之一)
  • 我来自伊朗(我不确定这是否重要)
  • 我测试过SMTP port,端口号是一样的

【问题讨论】:

  • 这是someone@example.com@gmail.com有效的电子邮件地址吗??
  • @FrayneKonok 是的.. 我写那个电子邮件地址只是作为一个例子。
  • 根据我的经验,即使使用所有 smtp 配置,本地主机上的邮件也无法正常工作。尝试使用实时服务器,它会为您省去所有麻烦。加上您上面的代码,提供的电子邮件无效。
  • mail() 我知道没有返回错误,请尝试在实时服务器而不是本地主机上发送电子邮件
  • @MueyiwaMosesIkomi 那太糟糕了..因为我现在没有访问真正的服务器,我需要检查我的应用程序。

标签: php email xampp


【解决方案1】:
  1. 希望您注意到您写错了电子邮件地址
  2. 试试这个:
$to      = 'any@example.com';
$subject = 'subject';
$message = 'hey';
$headers = 'From: me@example.com' . "\r\n" .
'Reply-To: me@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);

【讨论】:

    【解决方案2】:

    由于各种原因(IP 信誉、dns 黑名单、SPF 等),远程邮件服务器不太可能接受来自您桌面的邮件。

    更好的方法是在您的 PHP 应用程序中使用 phpmailer,然后使用它从适当的 SMTP 服务器连接和发送。

    除此之外,您的本地 PC 甚至可能没有安装任何 MTA,因此它可能只是无法发送邮件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-14
      • 2014-03-23
      • 1970-01-01
      • 2023-03-08
      • 2015-02-23
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多