发送邮件失败?[php + xampp]


Send Mail fails? [php + xampp]

在sendmail错误日志中,我得到这个错误:

13.05.17 22:33:23 : Must issue a STARTTLS command first. x41sm21034997eey.17 - gsmtp<EOL>
13.05.17 23:02:55 : Must issue a STARTTLS command first. m48sm20850393eeh.16 - gsmtp<EOL>
13.05.17 23:08:05 : Must issue a STARTTLS command first. bn53sm21242331eeb.7 - gsmtp<EOL>
13.05.17 23:43:54 : Must issue a STARTTLS command first. x41sm21511836eey.17 - gsmtp<EOL>
13.05.18 00:07:17 : Must issue a STARTTLS command first. w52sm21617356eev.12 - gsmtp<EOL>
13.05.18 03:03:16 : Must issue a STARTTLS command first. e50sm22561955eev.13 - gsmtp<EOL>
13.05.18 20:28:20 : Must issue a STARTTLS command first. d10sm3967825wik.0 - gsmtp<EOL>
13.05.19 05:14:31 : Must issue a STARTTLS command first. dj7sm5901394wib.6 - gsmtp<EOL>

和sendMail文件:

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=artemkller@gmail.com
auth_password=hidepass
force_sender=artemkller@gmail.com
我代码:

mail
(
    $email,
    'Driptone - Activate your account',
    'Hello '.$username.'. you must activate your account before
    you can start using your account.
    You can activate your account by clicking on the following link:
    http://localhost/drip/activate.php?u='.$this->get['user_id'].'&a='.$this->get['generated_code'].'
    Thank you,
    Driptone.',
    'From: noreply@driptone.com'
);

这是怎么回事?以前管用,现在不行了?

原因是gmail使用安全(TLS)服务器来防止垃圾邮件。

确保PHP安装有SSL支持(在phpinfo()的输出中查找"openssl"部分)。

您可以在PHP.ini中设置以下设置:

ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","587");

如果上面没有帮助,你也可以在这里找到你的解决方案。