当前位置: 首页>>技术教程>>正文


设置Ubuntu/Apache/PHP计算机以发送电子邮件

, , , ,

问题描述

我在一家小胡志明市公司工作,他的唯一服务器只是一台旧的小型电脑。现在几个月后,我们正在快速扩张,新用户的要求之一是要求他们验证他们的电子邮件地址。

在Ubuntu盒子上没有特别的程序,而是我在实际服务器上做的唯一一件事是re-format从Windows XP整个硬盘驱动器上安装了Natty Narwhal,然后安装了Apache和PHPMYADMIN。

我想让PHP在有人申请会员资格时立即向用户和管理员发送电子邮件。但我不知道我需要做什么才能开始。

关于我需要先建立什么的任何想法都会受到谦卑的赞赏;我不是一步一步寻找,只是提示我指向正确的方向。

-Duong Van

最佳解决办法

sudo apt-get install sendmail将安装一个本地侦听的sendmail副本。如果你安装,那么php可以使用内置的mail()功能。如果你也这样安装也不会有成为远程中继的风险。

如果您计划将邮件发送到其他Internet域,则需要确保发送邮件的计算机的IP地址也设置了反向DNS条目(PTR记录)。如果您的IP没有PTR记录或者指向通用主机(例如1.2.3.3.domain.isp.com),大多数大型ISP都会拒绝您的邮件。它应该反转到mail.yourdomain.com之类的东西

次佳解决办法

原生mail function是一个很好的内置选项。

mail函数是PHP核心的一部分,但它确实需要在服务器上安装sendmail。

我相信sendmail可能已经安装了您已经选择的软件包,但您可以使用以下命令检查它:

dpkg --get-selections | grep sendmail

如果出现空白,您可以使用以下命令安装sendmail:

sudo apt-get install sendmail

第三种解决办法

sudo apt-get install sendmail
sudo sendmailconfig

我需要第二个命令才能正确运行。 (它询问一些配置,每次询问时都输入Y)

第四种办法

我建议安装Postfix MTA将e-mails发送出Ubuntu服务器:

aptitude install postfix

并使用PHP Mailer类从PHP发送e-mails:http://phpmailer.worxware.com/


对于”fully featured” e-mail服务,我的食谱是:

Postfix + DKIM-proxy + Dovecot + Roundcube + PHP Mailer + SpamAssassin +正确的DNS设置+ SSL证书以启用加密连接

(我更喜欢NginX作为HTTP服务器……)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7077.html,未经允许,请勿转载。