无法使用PHPMailer通过Google SMTP发送邮件

时间:2009-05-01 08:39:30

标签: smtp phpmailer

我正在尝试使用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'。接下来的'Port',我可以输入'465'或'587'。但是这些组合都不起作用......请注意,我使用的是常规Gmail帐户,而不是Google Apps。在我的Gmail帐户中,我启用了“POP访问”。

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

5 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:5)

通过CodeIgniter

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

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

$mail->Host = "ssl://smtp.googlemail.com";

答案 2 :(得分:3)

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

PS 我也喜欢XAMPP:)))

答案 3 :(得分:1)

$ host =“ssl://smtp.gmail.com”;  $ port =“465”

我从SSL更改为ssl。有用。

答案 4 :(得分:0)