2016-04-22 168 views
0

我使用SMTPMail發送郵件。首先,我只是從我的本地主機進行測試,並且它已成功發送電子郵件。爲什麼php使用PHPMailer從本地主機發送郵件而不是從服務器發送郵件?

但是,當我將相同的代碼上傳到我的服務中時,它顯示我沒有發送電子郵件的錯誤,

錯誤信息是:

2016年4月22日5點53分10秒SMTP錯誤:無法連接到服務器:連接被拒絕(111)2016年4月22日5點53分10秒SMTP連接()失敗。 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting郵件不發送

我不明白爲什麼它顯示我這個錯誤信息,因爲我使用100%相同的代碼。

下面是使用PHPMailer的我的電子郵件發送腳本:

require 'PHPMailerAutoload.php'; 
$m = new PHPMailer(); 

$m->isSMTP(); 
$m->SMTPAuth = true; 
$m->SMTPDebug = 2; 

$m->Host = 'smtp.gmail.com'; 
$m->Username = 'username'; 
$m->Password = 'password'; // google app password 
$m->SMTPSecure = 'ssl'; 
$m->Port = 465; 

$m->From = '[email protected]'; 
$m->FromName = 'Shibbir Ahmed'; 
$m->addReplyTo('[email protected]', 'Reply Address'); 
$m->addAddress('[email protected]', 'Shibbir Ahmed'); 

$m->Subject = 'Here is an email'; 
$m->Body = 'This is email'; 
$m->AltBody = 'Alt body'; 
if($m->send()) { 
    echo 'mail send'; 
} else { 
    echo 'mail is not send'; 
} 
+1

[GoDaddy Linux共享嘗試通過GMAIL SMTP發送PHP的可能的副本](http://stackoverflow.com/questions/5440026/php-on-godaddy-linux-shared-trying-to-send-through- gmail-smtp) – Synchro

回答

1

某些服務器具有某些功能禁用,用戶不能使他們的自我。檢查您的託管服務提供商,看看他們是否啓用了郵件()功能。

在這種情況下,SMTP郵件功能在本地主機完美的工作,但不要在服務器.. 洙更改服務器設置

+0

感謝您的回覆。我正在使用Godaddy服務器。你能告訴我必須去哪裏解決嗎? –

+0

您可以按照我的觀點執行以下步驟。登錄到您的GoDaddy帳戶。 單擊服務器。 在要使用的帳戶旁邊,點擊管理。 在「帳戶摘要」區域中,顯示SMTP服務旁邊的郵件服務器名稱。 –

+0

我認爲用戶不能在服務器端設置郵件()功能 –

0

鏈接到故障排除指南是有原因的 - 如果你遵循它,它會告訴你到底出了什麼問題:GoDaddy阻止出站SMTP,所以你必須使用他們的郵件服務器。這個問題有很多重複,所以之前搜索

相關問題