我尝试将 SMTP 与 google 和 yahoo 一起使用 ..甚至将脚本上传到主机而不使用 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
我究竟做错了什么?
更新..它已经奏效了。我减小了附件大小并使用了参数..我将 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
为什么?