设置 ubuntu 服务器以发送邮件()

Shi*_*ant 40 ubuntu php apache-2.2

我尝试了很多搜索,但无法找到如何实际设置 ubuntu 服务器,以便我可以使用 php 中的 mail() 函数通过 php 发送邮件。

我的服务器上安装了 apache2、mysql 和 php5。

谢谢你。

Dar*_*ook 45

我也同意,对于只需要发送脚本(例如错误电子邮件)并且不需要成熟的邮件服务器的人来说,缺少教程。

首先,如果尚未安装 postfix,请执行以下操作:

sudo apt-get install postfix
Run Code Online (Sandbox Code Playgroud)

它提示几个问题。首先我选择了“Internet site”;对于防火墙后面的机器,我可能会选择 smarthost。对于第二个问题,它默认为机器名称;我附加了一个我控制的域名(所以我可以稍后为其设置 DNS,如果需要的话)。

此时,您应该能够使用命令行中的“邮件”发送测试。(我通常首先按照http://ubuntuforums.org/showthread.php?t=38429 上的说明进行操作,否则我必须使用-f标志/usr/bin/sendmail。我也喜欢/etc/aliases为 root 和我的普通用户创建条目,然后运行newaliases

然后在 /etc/php5/conf.d 下创建一个包含以下内容的文件(例如 mailconfig.ini):

sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
Run Code Online (Sandbox Code Playgroud)

将 me@example.com 更改为您的电子邮件地址。它们意味着所有电子邮件都看起来像是由您发送的,这有助于防止它被拒绝。这足以仅向开发人员发送错误电子邮件。

(以上说明在 Ubuntu 10.04、11.04、11.10、12.04 上测试过)

PS 正如 razzed 在评论中指出的那样,mail并不总是存在(例如在 Ubuntu 11.10 上它丢失了)。这实际上并不影响上述说明,您只需要mail进行测试,您也可以使用sendmail它。但是mail对于阅读电子邮件也很有用,因此通常值得安装它,使用:(apt-get install mailutils以 root 身份)。