2016-01-13 68 views
-2

我寫了一封郵件發送php代碼並上傳到服務器上。這是工作和電子郵件正在發送到收件箱。但是,當我上傳相同的代碼到另一臺服務器上,它不起作用,郵件沒有被髮送,但消息「您的消息已成功發送」正在顯示。爲什麼這樣?誰能告訴?如何使用核心php在服務器中發送電子郵件?

+0

你能分享一些你的代碼嗎? – Drudge

+0

很可能是因爲您的服務器未配置爲發送電子郵件。 – Epodax

+0

如何配置服務器? – anumol

回答

1

有很多共享虛擬主機提供商誰已禁用PHP的mail()函數。

你可以做的是切換到,例如:PHPMailer

+0

當我使用phpgmailer這個錯誤顯示「fsockopen()[function.fsockopen]:無法連接到ssl://smtp.gmail.com:465(權限被拒絕)/ home/www/xxxxxx/website/phpgmailer /class.smtp.php 105行 ErrorSMTP錯誤:無法連接到SMTP主機。「。任何人都可以說這個錯誤是什麼? – anumol

0

沒有看到你的代碼i'ts無法告訴你爲什麼它不工作。

你說你得到消息「你的消息已經發送成功」,但這不是來自send()命令的響應 - 應該是一個布爾值 - 因此請檢查你的代碼是否正確讀取並重新編譯正確的結果。

如果send()返回true,則表示您的消息已離開服務器,但並不表示它已到達目的地。由於某種原因,收件人服務器很可能會阻止您的新服務器。

我的建議是使用外部SMTP服務器發送郵件,以便在您的應用託管的位置保持一致。亞馬遜SES非常好,價格便宜,並且允許您輕鬆監控反彈。

-1

這是我的代碼phpgmailer。這顯示了上述錯誤。

 <?php 


    $name = $_POST['fname']; 
    $telephone = $_POST['phone']; 
    $mobile = $_POST['mobile']; 
    $email = $_POST['email']; 
    $subject = $_POST['subject']; 
    $msg = $_POST['message']; 


    require_once("phpgmailer/class.phpgmailer.php"); 
    $mail=new PHPGMailer(); 
    $mail->Username="cd4xltech"; 
    $mail->Password="dfddfdfddf"; 
    $mail->From="[email protected]"; 
    $mail->FromName=$name; 
    $mail->Subject="Feedback:".$subject; 
     $mail->AddAddress("[email protected]"); 
    $mail->Body=$message."From: $name"; 
    if(!$mail->Send()) 
    { 
echo "Error".$mail->ErrorInfo; 
     } 
    else 
    { 
echo "Mail Sent"; 
     } 


     ?> 
相關問題