无法用PHP发送电子邮件

无法用PHP发送电子邮件

问题描述:

我正在使用LinuxMint 13,我无法从PHP脚本发送电子邮件。我用Postfix跑了很多配置没有任何成功,所以我决定删除它。无法用PHP发送电子邮件

我只是希望能够发送电子邮件到另一台计算机或/和任何电子邮件地址,并能够执行功能,如imap_open()imap_mail()。当我有Postfix的时候,这些函数会返回true,但是没有发送任何东西。所以现在我想能够执行这个功能。我也希望能够通过我登录的帐户发送电子邮件。

请告诉我什么不起作用以及哪些软件包会有用。

感谢

+6

所以...为了您发送电子邮件...您决定从等式中删除电子邮件服务器?我不认为这个计划会起作用。 – David 2012-07-10 17:28:46

+0

也许你可以向你提供MTA的痕迹,这可能会帮助我们理解问题所在,也可能将这个问题转移到另一个更适合解决MTA配置问题的站点。谢谢。 – Kev 2012-07-10 23:51:47

+0

对不起,我是新来的,所以我不明白我应该提供什么信息。我重新安装了Postfix。 – user1319182 2012-07-11 00:25:16

你可以使用PHP的默认mail功能。 Here's the documentation on that。它可以工作,类似下面的(例如,从文档):

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 

如果您有与烦恼,你可以使用PHPMailer,这是它给你更多的控制权你发送邮件库。他们甚至提供some pretty killer examples

+0

我是否需要安装或配置其他内容? – user1319182 2012-07-10 17:51:29

+0

通常不会。但是,有时您可能需要配置PHP在服务器上的设置方式。 http://email.about.com/od/emailprogrammingtips/qt/How_to_Send_Email_from_a_PHP_Script.htm可能会有所帮助。 – cereallarceny 2012-07-10 17:59:37

+0

根据在线教程正确配置PHP,但我认为问题来自域名以及这种设置。我没有编辑它们。我怎么做? – user1319182 2012-07-10 18:25:12

如果您想使用PHP mail()功能,您只需要安装sendmailsudo apt-get install sendmail)。它应该设置发送邮件所需的一切。

一些主要的ISP可能会阻止您的邮件,因为您不符合发送要求(例如具有非通用主机名,并且您需要IP地址的正确反向DNS记录),但这应该是您所需要的以便从PHP发送邮件。

+0

我已经安装了sendmail。请告诉我更多关于什么阻止了我。 – user1319182 2012-07-10 17:35:31

+0

检查'mail()'是否先返回true或false。然后检查服务器邮件日志以查看邮件是否由于错误而被传递或保留。 '/ var/log'是一个开始寻找的好地方。 – drew010 2012-07-10 17:36:39

+0

邮件没有返回任何东西。我调用它时代码会冻结。 – user1319182 2012-07-10 17:39:13