我在我的網站上有一個簡單的會員管理。它基於php會話。用戶可以登錄的地方,更改密碼,申請新密碼,註銷。當我在我的電腦上執行這些功能時,所有這些功能都能正常工作請求新的密碼正常工作,郵件發送成功,郵件中收到新的密碼。PHPMailer,SMTP錯誤無法連接到SMTP主機
如果我嘗試請求移動(iPhone)中的新密碼(通過本地IP打開網站)我得到以下錯誤SMTP錯誤無法連接到SMTP主機郵件沒有發送,請重試!但是,當我在我的PC上做同樣的郵件發送成功。當我嘗試使用三星手機(S4)時,它有時會有效,有時會出錯。
mymail函數接收來自其他php文件中的調用的地址,主題,消息和地址。消息包含用戶名和新密碼,它是html代碼。
我的代碼解釋清楚你..
這是send_mail.php。從另一個php文件調用「mymail」函數。
<?php
//include phpmailer
require_once ('class.phpmailer.php');
function mymail($mto, $msub, $mbody, $mfrom) {
$mail = new PHPMailer();
$mail -> IsSMTP();
$mail -> SMTPAuth = true;
$mail -> SMTPSecure = "tls";
$mail -> Host = "email-smtp.us-west-2.amazonaws.com";
$mail -> Username = "Provided by Amazon SES";
$mail -> Password = "Provided by Amazon SES";
$mail -> SetFrom("$mfrom", '');
//from (verified email address)
$mail -> Subject = "$msub";
$body = "$mbody";
$body = eregi_replace("[\]", '', $body);
$mail -> MsgHTML($body);
$mail -> AddAddress("$mto", "");
if ($mail -> Send()) {
return 1;
} else {
echo "<br> Mail not sent, try again!";
return 0;
}
}
?>
而且,是的,我正在向Amazon SES中已驗證的電子郵件發送郵件。我試圖編輯php代碼。從其他php文件中刪除了sha1函數,沒用。我認爲問題出在這個函數中。一般來說,php是服務器端,但是,當從移動設備或PC訪問時,php處理器的工作方式會有所不同嗎?我從昨天晚上開始嘗試。在谷歌做足夠的研究。提前致謝。
這個問題有大量的重複。幾乎所有這些都可以通過[閱讀PHPMailer提供的文檔](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting)來解決。您還使用舊版本的PHPMailer。正如@sanki所說,你還應該設置'Port = 587'。 – Synchro 2014-12-03 14:45:47
謝謝,我已更新,但問題不在於更新。這裏輸入的電子郵件區分大小寫。在我的手機輸入電子郵件的第一封信是資本。這是一個問題!只有當我更新它時才發現它。我從頭到尾記錄了日誌。然後我發現大小寫敏感是一個問題。順便說一句謝謝。 – sailesh 2014-12-03 18:34:02