[請益] 關於phpmailer的SMTP connect() fail錯誤

作者: irene1679 (恩)   2016-05-12 09:57:07
不好意思第一次發文,若有什麼地方打的不好請見諒。
各位前輩好,小妹目前遇到一個問題,就是同樣的程式碼在本機上可以順利寄出信件,
但上傳到免費空間(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 '信件已經發送';
}
?>
作者: shadowjohn (轉角遇到愛)   2016-05-12 11:24:00
587請改465, tls改ssl原來已試過,那就得請免費空間幫忙開port ?跟本機的smtp無關的試看看smtp.google.com -> 74.125.23.108 ?
作者: crossdunk (推噓自如)   2016-05-12 11:57:00
這個一般的問題都是在主機商 他要開放給你 才能使用遇過很多次了,都是主機商幫我開防火牆後才可以我的經驗是這樣啦,但你找不到客服,所以也沒辦法測試但你的本機是可以寄信的,程式碼部分應該是不會有問題
作者: wilson200106 (種子種子)   2016-05-12 18:45:00
的確有可能是主機商把權限disabled掉了通常如果你買的是"空間"就會遇到主機參數問題
作者: imhaha (嘿嘿)   2016-05-12 20:10:00
用本機試試看最準 通常是免空問題
作者: localhost (127.0.0.1)   2016-05-13 22:25:00
朕不給你不能搶

Links booklink

Contact Us: admin [ a t ] ucptt.com