我尝试使用带谷歌和雅虎的SMTP ..甚至将脚本上传到主机而不使用smtp ..并在我的本地计算机上运行脚本。
这是脚本:
require_once './PHPMailer-master/class.phpmailer.php';
require_once './PHPMailer-master/class.smtp.php';
$mail = new PHPMailer();
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup server
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'alforce@gmail.com'; // SMTP username
$mail->Password = '?q$';
$mail->Port= 465;
$mail->SMTPDebug=1;
// SMTP password
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
$mail->Timeout=350;
$mail->From = 'alforce@gmail.com';
$mail->FromName = 'alforce';
$mail->addAddress('infkot@clnt.co.il', 'Clgent'); // Add a recipient
// Set word wrap to 50 characters
$mail->addAttachment('nbproject.rar'); // Add attachments
$mail->Subject = 'Spdddd';
$mail->Body = 'Dsdssdds';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
exit;
}
echo 'Message has been sent';
我明白了:
SMTP ERROR: Failed to connect to server: Connection timed out (110) SMTP connect() failed. Message could not be sent.Mailer Error: SMTP connect() failed
我做错了什么?
UPDATE ..已经奏效了。我减少了附件大小并使用参数进行了演奏。我将tls更改为ssl。
现在当我把代码放在一个循环中时,我得到了这个错误:
警告:fwrite():SSL:操作成功完成。在第803行的C:\ xampp \ htdocs \ PHPMailer \ PHPMailer-master \ class.smtp.php
最后,在脚本死亡之前,我还得到3条消息
警告:fwrite():SSL操作失败,代码为1. OpenSSL错误消息:错误:1409F07F:SSL例程:SSL3_WRITE_PENDING:C:\ xampp \ htdocs \ PHPMailer \ PHPMailer-master \ class.smtp中的错误写入重试。 php在803线上
为什么?