【问题标题】:Php error sending mail locally with smtp serverphp错误在本地使用smtp服务器发送邮件
【发布时间】:2014-02-06 20:36:56
【问题描述】:

我正在学习如何使用 php 发送邮件,所以我在 XAMPP 中本地测试它。我将 Mercury 用于我的邮件服务器,并使用 this guide 进行设置,但是当我尝试发送邮件时收到以下错误消息:

Warning: mail(): Failed to connect to mailserver at "grid2i-ent.seg.att.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in E:\xampp\htdocs\userSystem\etest.php on line 7

这是我的 PHP 代码:

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: root@localhost.com' . "\r\n";

mail("root@localhost.com", "Subject", "Hello", $headers);//This is line 7

这是我的 php.ini 邮件设置:

SMTP = grid2i-ent.seg.att.com
smtp_port = 25

【问题讨论】:

  • 您的 SMTP 服务器可能有问题 - 您可以随时尝试其他服务器。

标签: php email smtp wamp


【解决方案1】:

我敢打赌这是你的防火墙 -- 但这是我的建议

1)。去掉“标题”——你并不真的需要那些——至少如果你向自己发送一条实际上没有 HTML 内容的测试消息时不需要。

2)。使用不同的 SMTP 服务器 - 可能由您的个人 Gmail 帐户提供。

3)。如果您的 SMTP 服务器与 'localhost' 不在同一个地方,root@localhost.com 将无法工作

【讨论】:

    【解决方案2】:

    尝试使用PHPMailer 之类的电子邮件库。

    【讨论】:

    • 如果 SMTP 服务器有问题,则没有库可以工作。
    • PHP 中的 mail() 函数仅适用于 php.ini 中正确配置的 SMTP 服务器。您还需要正确配置邮件服务器。使用 PHPMailer,您根本不需要在服务器上进行任何配置。只需向 PHPMailer 提供 SMTP 地址和端口即可。
    • 如果 smtp 服务器配置不正确,那么你使用什么都没关系 --- 另外,我记得可以在没有任何配置的情况下使用 mail() ,而且还有关于使用这些库(我个人使用 SwiftMailer)——是为了让事情远离垃圾邮件——但话又说回来,我在所有东西上运行 Linux,所以它可能是自动配置的。
    猜你喜欢
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 2016-08-30
    • 2017-05-19
    • 2017-01-30
    • 2021-10-01
    相关资源
    最近更新 更多