我尝试搜索了很多次,但无法找到如何实际设置 ubuntu 服务器,以便我可以使用 php 中的 mail() 函数通过 php 发送邮件。
我的服务器上安装了 apache2、mysql 和 php5。
谢谢。
答案1
我也同意,对于那些只需要发送脚本(例如错误电子邮件)而不需要功能齐全的邮件服务器的人来说,缺少教程。
首先,如果尚未安装 postfix,请执行以下操作:
sudo apt-get install postfix
它提示了几个问题。对于第一个问题,我选择了“Internet 站点”;对于防火墙后面的机器,我可能会选择智能主机。对于第二个问题,它默认为机器名称;我附加了一个我控制的域名(这样我以后可以为其设置 DNS,如果我需要的话)。
此时,您应该能够使用命令行中的“mail”发送测试。(我通常按照http://ubuntuforums.org/showthread.php?t=38429首先,否则我必须使用标志-f
。/usr/bin/sendmail
我还喜欢/etc/aliases
为 root 和我的普通用户创建条目,然后运行newaliases
)
然后在 /etc/php5/conf.d 下创建一个文件(例如 mailconfig.ini),内容如下:
sendmail_from = "[email protected]"
sendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"
改变[电子邮件保护]发送到您的电子邮件地址。这意味着所有电子邮件看起来都像是您发送的,这有助于防止被拒绝。这对于仅向开发人员发送错误电子邮件来说已经足够了。
(以上说明在 Ubuntu 10.04、11.04、11.10、12.04 上测试过)
PS 正如 razzed 在评论中指出的那样,mail
它并不总是存在(例如在 Ubuntu 11.10 上它缺失)。这实际上并不影响上述说明,您只需要mail
进行测试,您也可以使用sendmail
它。但它mail
对于阅读电子邮件也很有用,因此通常值得安装它,方法是:(apt-get install mailutils
以 root 身份)。
答案2
您需要设置 ubuntu 服务器才能发送邮件...例如,您可以安装和配置 postfix。
Ubuntu 文档有一个不错的页面https://help.ubuntu.com/community/MailServer
答案3
要么经历直接在您的服务器上设置邮件服务器的痛苦过程(postfix 等),要么使用允许您直接连接到 smtp 服务器的库。
答案4
你应该先安装 xmail 包,如果还是不行,看看在这里。