如何在 PHP 中为电子邮件指定 SMTP 服务器


How do I specify SMTP server for an e-mail in PHP?

我想通过Linux中的PHP脚本发送电子邮件。我的代码如下:

$to = $row['EmailID'];
$subject = "XYZ";
$message = "yes!!!!";
$from = "pallav123goyal@gmail.com";
if(!mail($to,$subject,$message,"From:" . $from))
{
 echo "Confirmation E-mail couldn't be sent to " . $row['EmailID'] . "<br>";
}
 else
{
 echo "Confirmation E-mail sent to " . $row['EmailID'] . "<br>";
}

在运行代码时,执行上述代码的 else 部分,从其输出中可以明显看出。但是没有电子邮件发送到$row["电子邮件ID"](这是一个有效的电子邮件ID)

有人告诉我,我必须为邮件指定一个SMTP服务器。我该怎么做?

您可以在 php.ini 文件中指定 SMTP 服务器

例如,检查此线程:http://board.phpbuilder.com/showthread.php?10307560-CONFIGURING-php-ini-%28Setting-the-SMTP%29!!!

如果要以内联方式执行此操作,可以尝试使用 ini_set() 更改这些设置;

取自: http://board.phpbuilder.com/showthread.php?10307560-CONFIGURING-php-ini-(Setting-the-SMTP)!!

SMTP=运行您将使用的 SMTP 服务器的主机的名称(负责网络连接的人应该知道这一点)smtp_port=SMTP 服务器正在侦听的主机上的端口(25 是常规选择)sendmail_from=已发送邮件应注明来自的电子邮件地址

只需在您的 php.ini 文件中配置上述内容即可。

[编辑]以反映我的评论:- 如果您无法访问默认的php.ini文件,您可以在webroot中创建一个并将其放入。

[编辑 2] 这确实取决于服务器上的配置,但是大多数主机都会允许它。