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

bar*_*art 4 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";
Run Code Online (Sandbox Code Playgroud)

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

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

bar*_*art 6

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


Jon*_*ley 5

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

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

$mail->Host = "ssl://smtp.googlemail.com";
Run Code Online (Sandbox Code Playgroud)