4

我正在尝试使用 Google 的 SMTP 和 PHPMailer 一起发送邮件,但我无法让它工作。这是我的代码:

$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Username = "myemail@gmail.com";
$mail->Password = "**********";
$mail->Port = "465";

首先我不完全明白应该填写什么作为'SMTPSecure',有人说' ssl',其他人说' tls'。接下来对于“端口”,我可以输入“465”或“587”。但是这些组合都不起作用...请注意,我使用的是常规 Gmail 帐户,而不是 Google Apps。在我的 Gmail 帐户中,我启用了“POP 访问”。

我得到的错误是:“ Must issue a STARTTLS command first”。这意味着 SSL 失败,但不知道为什么......

4

5 回答 5

6

好的,问题出在 PHPMailer 的版本上。我更新到 PHPMailer 版本 5,一切都很好。我使用的是 phpMailer 1.02 版。

于 2009-05-01T09:05:10.660 回答
5

通过 CodeIgniter 使用 GMail 时,我遇到了类似的问题

对我来说,更改主机选项有效:

$mail->Host = "ssl://smtp.googlemail.com";
于 2009-05-01T08:52:42.813 回答
3

设置 $mail->SMTPDebug = 1; 它将为您提供有关此错误的更多信息。您很可能会收到“无法找到套接字传输“ssl” - 您在配置 PHP 时是否忘记启用它”。要解决此问题,请删除“;” 来自 php.ini 中的 ;extension=php_openssl.dll 行。

PS我也喜欢XAMPP :)))

于 2010-03-24T03:57:56.910 回答
1

$host = "ssl://smtp.gmail.com"; $端口 = "465"

我从 SSL 更改为 ssl。有用。

于 2010-10-13T14:53:35.577 回答
0

根据这里的这篇文章,谷歌可能不再提供这项服务:

http://www.web-development-blog.com/archives/send-e-mail-messages-via-smtp-with-phpmailer-and-gmail/

于 2013-03-19T16:07:46.620 回答