使用 Pear Mail 包 (PHP) 在 EC2 上实现 SMTP

使用 Pear Mail 包 (PHP) 在 EC2 上实现 SMTP

我正在使用 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

相关内容