2013-07-17 153 views
0

我需要有人來幫助我:我試圖使用PHP郵件()函數,但它不工作。我使用Windows Server 2008 R2(我真的在服務器新手)與IIS 7。這是我是如何的可配置SMTP(端口25開啓):功能郵件()PHP

Deliver e-mailto SMTP server: 
    SMTP server: 
    smtp.1and1.es 
    Port: 25 
    Authentication settings: 
    Not required. 

我有可配置的php.ini這種方式:

[mail function] 
;For Win32 only. 
SMTP = smtp.1and1.es 
smtp_port = 25 
;For Win32 only. 
sendmail_from = [email protected] 

我的代碼是這樣的:

$name = $_POST['name']; 
$email = $_POST['email']; 
$subject = $_POST['subject']; 
$message = $_POST['message']; 
$to = '[email protected]'; 

if (mail($to, $subject, utf8_decode($message))){ 
    echo "Sent"; 
} else { 
    echo "Error"; 
}; 

我總是得到「錯誤」 ......有什麼我失蹤?
我將不勝感激任何幫助。非常感謝。

+1

是否打開了錯誤報告?它應該給你一個詳細的消息。 'error_reporting(E_ALL);' –

+0

這就是我得到的結果:30719 – Carl

+0

@Pekka웃表示,在代碼中粘貼error_reporting後,屏幕上是否顯示任何錯誤消息? –

回答

0

使用此標準的PHP郵件程序類。會幫助你很多。
而且很容易就可以配置你的任何域名。
https://github.com/PHPMailer/PHPMailer

+0

我總是得到消息無法發送。郵件錯誤:無法實例化郵件功能。 – Carl

+0

現在!!它的工作... – Carl

0

您有身份驗證設置:不是必需的。但是,不smtp.1and1.es需要身份驗證?

+0

你說得對,我已經改變它,但仍然不發送電子郵件 – Carl

+0

正在提供您的用戶名和密碼smtp.1and1.es? – mti2935