作者irene1679 (恩)
看板PHP
標題[請益] 關於phpmailer的SMTP connect() fail錯誤
時間Thu May 12 09:57:07 2016
不好意思第一次發文,若有什麼地方打的不好請見諒。
各位前輩好,小妹目前遇到一個問題,就是同樣的程式碼在本機上可以順利寄出信件,
但上傳到免費空間(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('
[email protected]','Mailer');
$mail->AddAddress('
[email protected]');
$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 '信件已經發送';
}
?>
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.188.36
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1463018233.A.F41.html
1F:→ shadowjohn: 587請改465, tls改ssl 05/12 11:24
2F:→ shadowjohn: 原來已試過,那就得請免費空間幫忙開port ? 05/12 11:25
請問您指的是smtp_port嗎?我目前看到的SMTP是localhost; smtp_port是25,
都與本機是一樣的,這樣會是造成不能寄信的原因嗎?
※ 編輯: irene1679 (220.135.188.36), 05/12/2016 11:43:08
3F:推 shadowjohn: 跟本機的smtp無關的 05/12 11:44
4F:→ shadowjohn: 試看看smtp.google.com -> 74.125.23.108 ? 05/12 11:45
謝謝,但剛剛測試把"smtp.google.com"改成"74.125.23.108",連在本機也無法寄出了
錯誤顯示SMTP connect() failed.
5F:推 crossdunk: 這個一般的問題都是在主機商 他要開放給你 才能使用 05/12 11:57
6F:→ crossdunk: 遇過很多次了,都是主機商幫我開防火牆後才可以 05/12 11:58
謝謝,想要再請教您,是不是可以確認我的程式碼已經沒有問題不需修改了...?
因為我目前是在架設一個網站但還在測試階段,所以使用免費空間(qov)來看效果,
但此主機商好像找不到客服..所以可能沒辦法請他們開防火牆
若將來要正式上線,同樣的網站上傳到
像'戰國策'、'智邦'、'補夢網'..等這樣的主機商,
是不是就都可以順利寄信了呢?
還是前輩有什麼建議,再歡迎您提出...感謝
※ 編輯: irene1679 (220.135.188.36), 05/12/2016 13:56:26
7F:推 crossdunk: 我的經驗是這樣啦,但你找不到客服,所以也沒辦法測試 05/12 17:13
8F:→ crossdunk: 但你的本機是可以寄信的,程式碼部分應該是不會有問題 05/12 17:14
了解了,感謝!
9F:推 wilson200106: 的確有可能是主機商把權限disabled掉了 05/12 18:45
10F:→ wilson200106: 通常如果你買的是"空間"就會遇到主機參數問題 05/12 18:45
11F:→ imhaha: 用本機試試看最準 通常是免空問題 05/12 20:10
感謝各位的意見!
※ 編輯: irene1679 (220.135.188.36), 05/13/2016 10:35:55
12F:推 localhost: 朕不給你不能搶 05/13 22:25