我正在使用 PHP 中的 Pear Mail 包,使用 Gmail 作为我的服务器发送 SMTP 中继电子邮件。我已经使用 YUM 安装了 Pear 包。我还找到了 pear_dir 的路径,并将其包含在 php.ini 文件中。但是,当我尝试运行我的邮件 .php 文件(代码附在下面)时,文件没有运行。有什么提示可以指出我在这里做错了什么吗?
<?php
require_once "Mail.php";
$from = "Sandra Sender <[email protected]>";
$to = "Ramona Recipient <[email protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "ssl://smtp.gmail.com";
$username = "[email protected]";
$password = "XXXXXXXXXXXX";
$headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject);
$smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
答案1
不确定 PEAR 包的事情,但你似乎错过了 465 端口
如果 PEAR 包没有明确定义端口参数,您可以尝试下面的方法。
将 ssl://smtp.gmail.com 更改为 ssl://smtp.gmail.com:465