Google と yahoo で 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
私は何を間違っていますか?
更新..機能しました。添付ファイルのサイズを小さくし、パラメーターをいじってみました..tls を ssl に変更しました。
コードをループに入れると、次のエラーが発生します。
警告: fwrite(): SSL: 操作は正常に完了しました。C:\xampp\htdocs\PHPMailer\PHPMailer-master\class.smtp.php の 803 行目
そして最後に、スクリプトが終了する前に、これについてさらに3つのメッセージが表示されます
警告: fwrite(): コード 1 で SSL 操作が失敗しました。 803
なんで?