用于编程的Quick Linux邮件服务器设置

我是一个PHP的Web开发人员。 我需要设置我的Ubuntu工作站(10.04.1 LTS),以便我可以debugging邮件,而不是真的出去WWW。 所以,我需要假装像from.com和to.com这样的域名。 什么是最快,最短,最简单的方式,我可以configurationPHP,使外发邮件,只留在我的服务器,然后接收这封邮件使用Evolution?

Ubuntu默认带有Sendmail,这可能会导致你在我看来把你的头发撕掉。 Postfix看起来更容易configuration。 所以,我这样做了:

sudo su apt-get --purge remove sendmail apt-get --purge remove sendmail-base apt-get --purge remove sendmail-cf apt-get install procmail 

procmail默认安装Postfix。

当Postfix安装运行时,它将自动显示一个蓝色的屏幕,您需要select安装types。 select本地

接下来,编辑/etc/postfix/main.cf并设置mydestination参数,以便它包含以逗号分隔的域列表,例如:

 mydestination = localhost, localhost.localdomain, from.com, to.com 

接下来,以root身份编辑/ etc / aliases 。 所以,如果你的Ubuntu用户帐户(你login的那个帐户)是开发者 ,并且你想将testing邮件作为程序员发送到[email protected] ,那么你的/ etc / aliases将会把它放在某个地方:

 jack: dev 

完成后,以root身份运行以下命令:

 newaliases 

现在以根用户身份popup您的邮件服务器:

 /etc/init.d/postfix stop /etc/init.d/postfix start 

现在,当您的PHP代码将任何地址的邮件发送到from.com (无论哪个)到[email protected] ,您的邮件服务器将自动将其放入文件/ var / spool / mail / dev中

那么,怎么去读呢? 那么,我不是特别喜欢Thunderbird的Evolution,但是对于这个任务来说,它似乎更具可configuration性。 我打开它,并添加一个新的帐户。 在那里,我添加了dev @ localhost ,然后select了本地交付 。 在那个文件path上,我select了/ var / spool / mail / dev 。 在发送邮件时,我select了Sendmail ,尽pipe我没有安装它。 我的意思是,我不关心将邮件从收件箱发回邮件服务器,只是收到邮件,以便我可以debugging邮件并确保邮件正常工作。 但是,如果需要,您可以select不同的外发邮件服务器configuration。 无论如何,从那里,我点击确定,然后我点击发送/接收button下载新的消息。

到那时,我可以将邮件从PHP发送到帐户[email protected] ,并且很容易地将它们与Evolution进行比较。

比我在2010年9月24日提出的更快的答案是:

 # apt-get install sendmail # vim /etc/hosts 

用#符号注释掉127.0.1.1行,然后在127.0.0.1之后移动它。 另外,确保localhost,localhost.localdomain,from.com和to.com位于127.0.0.1行。 例如,在我的工作站上,我的两行看起来像这样:

 127.0.0.1 localhost.localdomain localhost dev-laptop from.com to.com #127.0.1.1 dev-laptop 

现在继续…

 # vim /etc/aliases 

如果您login到Ubuntu的帐户是“dev”,并且您想要testing发送邮件的人是[email protected],请添加“joe:dev”。

 # newaliases # /etc/init.d/sendmail restart # /etc/init.d/apache2 restart 

在Evolution中,如果您login到Ubuntu是“dev”,则select标准Unix mbox假脱机文件(默认的sendmail格式)并指向/ var / spool / mail / dev。 对于发送邮件,请select“sendmail”。 如果“dev”是您的Ubuntulogin名,请将其设置为[email protected]

此时,您的PHP代码可以通过电子邮件发送到[email protected],并且可以很容易地在Evolution中find它们。 这对于在Ubuntu工作站上本地debuggingPHP Web应用程序非常有用。