我尝试了很多search,但无法find如何设置一个Ubuntu服务器,以便我可以通过使用php中的mail()函数的PHP发送邮件。
我在我的服务器上安装了apache2,mysql和php5。
谢谢。
我也同意,对于那些只需要发送脚本的人来说缺乏教程,比如错误邮件,而且不需要一个完整的邮件服务器。
首先,如果postfix不是已经安装的话:
sudo apt-get install postfix
它会提示几个问题。 首先我select了“互联网站点”; 对于防火墙后面的机器,我可以selectsmarthost。 对于第二个问题,它默认为机器名称; 我附加了一个我控制的域名(这样我可以在以后为它设置DNS,如果需要的话)。
在这一点上,你应该可以使用命令行中的“邮件”来发送testing。 (我通常首先遵循http://ubuntuforums.org/showthread.php?t=38429上的指示,否则我必须使用-f
标志到/usr/bin/sendmail
。我还想创build/etc/aliases
根和我的普通用户的条目,然后运行newaliases
)
然后在/etc/php5/conf.d下创build一个文件(例如mailconfig.ini),内容如下:
sendmail_from = "[email protected]" sendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"
将[email protected]更改为您的电子邮件地址。 他们的意思是所有的电子邮件看起来像是由您发送,这可以帮助防止被拒绝。 这只是将错误电子邮件发送给开发人员就足够了。
(上述说明在Ubuntu 10.04,11.04,11.10,12.04上testing过)
PS正如在评论中指出的那样, mail
并不总是存在的(例如,在Ubuntu 11.10上它不见了)。 这实际上并不影响上述说明,您只需要mail
进行testing,而且您也可以使用sendmail
。 但是, mail
对于阅读电子邮件也很有用,所以通常值得安装: apt-get install mailutils
(以root身份)。
您需要设置Ubuntu服务器才能发送邮件……作为一个例子,您可以安装和configurationpostfix。
Ubuntu文档在https://help.ubuntu.com/community/MailServer上有一个不错的页面
要么经历在服务器上直接设置邮件服务器(postfix等)的痛苦过程,要么使用一个允许直接连接到smtp服务器的库。
你应该先安装xmail包,如果还是不行的话,看看这里 。