2010-11-10 34 views
2

HI 我的代碼在IIS6不工作的Windows Server工作PHP的mail()不是在IIS 6

$send_contact=mail($to, $subject, $message, $header); 

if($send_contact){ 

    echo "mail was sent successfully"; 

} 

else{ 

    echo "mail could not be send"; 

} 

。它發送成功的消息,但郵件沒有發送 http://interfacenepal.com/contact/contact.php 的phpinfo詳情可 http://interfacenepal.com/contact/testing.php

+0

你怎麼知道電子郵件沒有發送?還是沒有收到郵件客戶端? – stillstanding 2010-11-10 09:37:03

+0

我知道,因爲我設置了自己發送的電子郵件,而且我沒有收到電子郵件,只是瀏覽器顯示電子郵件已成功發送。 – 2010-11-11 08:46:54

回答

4

你沒有提到你使用的是什麼版本的PHP,但是mail()功能在PHP的Windows是有點越野車(當然在5.2.6到5.3.0):

Bug #28038 Sent incorrect RCPT TO commands to SMTP server

與其他人一樣,我建議使用SwiftMailerPHPMailer來代替。

+0

PHP版本4.3.11。謝謝你的建議Kev。 – 2010-11-12 06:17:24

+0

感謝您的錯誤信息,並感謝所有 – 2010-11-15 06:41:06

0

發現你有沒有想過使用PHPMailer - 它可用來發送郵件應該在mail()函數失敗更先進的手段,更好地一般的錯誤支持......更不用提一大堆功能了。

3

測試頁面中的警告表明您正在使用Gmail的SMTP服務器。 Gmail需要加密和身份驗證,並且這些功能不受簡單郵件()功能的支持。您需要使用實現它們的庫,例如Swift MailerPHPMailer

0

除了使用Swift Mailer或PHPMailer,您需要確保您的服務器配置正確,以使用其他服務器發送電子郵件。