不好意思第一次發文,若有什麼地方打的不好請見諒。
各位前輩好,小妹目前遇到一個問題,就是同樣的程式碼在本機上可以順利寄出信件,
但上傳到免費空間(qov)後卻只有寄信失敗,得到的錯誤為:SMTP connect() failed.
其中,已經試過'587搭配tls'與'465搭配ssl'在本機上都可以,上傳後也都不行;
也已確認過免費空間的phpinfo的 OpenSSL support 是 enabled
因此想要請教各位:除了要確認phpinfo中的openssl是打開的以外,
還有哪些資訊是我可以確認 有可能造成寄信失敗的原因?
以及是不是有什麼解決辦法?
因為對這方面比較不懂,上網google過還是沒有找到解決問題的辦法,
不曉得問題究竟在哪裡,還請各位前輩能不吝指教,非常感謝!
以下附上小妹的程式碼:
<?php
require '../PHPMailer-master/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->SMTPDebug = 2;
$mail->IsSmtp();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true;
$mail->Username = Gamil帳號;
$mail->Password = Gmail密碼;
$mail->setFrom('irene1679@gmail.com','Mailer');
$mail->AddAddress('irene1679@gmail.com');
$mail->CharSet = 'utf-8';
$mail->WordWrap = 72;
$mail->isHTML(true);
$mail->Subject = '主旨';
$mail->Body = '信件內容';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo '信件無法被傳送.';
echo 'Mailer錯誤: ' . $mail->ErrorInfo;
} else {
echo '信件已經發送';
}
?>