2011-06-13 139 views
0

我最近在VPS上安装了我的服务器,PHP邮件无法正常工作,我到处尝试,但无法使其工作。如果它不是语法错误,我将不胜感激,如果有人可以帮助设置PHP邮件。进出口运行Ubuntu的10.04PHP电子邮件不工作

我的代码是:

 $ToEmail = '[email protected]'; 

    $EmailSubject = 'Site contact form '; 
    $mailheader = "From: ".$_POST["email"]."\r\n"; 
    $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
    $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
    $MESSAGE_BODY = "Name: ".$_POST["name"]."<br>"; 
    $MESSAGE_BODY .= "Email: ".$_POST["email"]."<br>"; 
    $MESSAGE_BODY .= "Message: ".nl2br($_POST["message"])."<br>"; 
    $MESSAGE_BODY .= "IP: ".$_SERVER['REMOTE_ADDR']"; 
    mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
+1

请给予更多信息。你有什么尝试,你收到什么样的错误,你怀疑什么,等等。另外请谈论邮件服务器,而不仅仅是PHP设置。 – 2011-06-13 16:02:50

+2

您在此处发布的@Karl代码在第二行中有额外的报价。这部分代码是?正如你所看到的格式,它不应该。 – Pradeep 2011-06-13 16:03:13

+3

由于这是一个VPS,你厌倦了从命令行发送邮件吗?试着这样做,并投入-v开关,以获得有关正在发生的事情的详细消息。然后检查你的邮件日志(通常以'/ var/log/mail.log'或类似的名字)。 – 2011-06-13 16:03:46

回答

1

根据您发布的日志:

Jun 13 11:49:42 hedgehog postfix/master[12617]: fatal: bind 0.0.0.0 port 25: Address already in use 

这应该给你一个线索,如果您无法连接到服务器。

+0

嗯,任何想法如何我可以解决这个问题? – Karl 2011-06-13 16:46:59

+0

找到正在端口25上侦听的进程并杀死它。然后重新启动postfix。 – 2011-06-13 16:48:42

+0

Try: sudo netstat --tcp --listening --program ..找到进程的pid并使用'kill '结束它 – 2011-06-13 16:49:58