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

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

我是一名 PHP Web 开发人员。我需要设置我的 Ubuntu 工作站 (10.04.1 LTS),这样我就可以调试邮件,而不必真正发送到 WWW。因此,我需要使用 from.com 和 to.com 等假域名。有什么最快、最短、最简单的方法可以配置 PHP,使外发邮件仅保留在我的服务器上,然后使用 Evolution 接收此邮件?

答案1

Ubuntu 默认自带 Sendmail,在我看来,这可能会让你抓狂。Postfix 似乎更容易配置。所以我这样做了:

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 安装运行时,它会自动显示蓝屏,您需要在其中选择安装类型。选择仅限本地

接下来,编辑 /etc/postfix/main.cf 并设置我的目的地参数,使其包含以逗号分隔的发件人和收件人的域列表,例如:

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

接下来,编辑/etc/别名以 root 身份登录。因此,如果你在 Ubuntu 中的用户帐户(你登录时使用的帐户)是开发,并且您想以程序员的身份发送测试邮件给[电子邮件保护],那么你的/etc/别名将会在某处包含此条目:

jack:      dev

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

newaliases

现在以 root 身份重新启动你的邮件服务器:

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

现在当你的 PHP 代码发送任何地址的消息时from.com(无论哪个)[电子邮件保护],你的邮件服务器会自动将其放入文件中/var/spool/邮件/dev

那么,如何阅读它?好吧,我并不特别喜欢 Evolution 而不是 Thunderbird,但它似乎更适合这项任务。我打开它并添加了一个新帐户。在那里,我添加了开发@本地主机然后选择本地配送。在该文件路径上,我选择了/var/spool/邮件/dev。在发送邮件时,我选择发送邮件即使我不再安装它。我的意思是,我并不关心将邮件从收件箱发送回邮件服务器,只是接收它,以便我可以调试消息并确保邮件正常工作。但是,如果您愿意,可以选择不同的外发邮件服务器配置。无论如何,从那里,我单击了“确定”,然后单击“发送/接收”按钮以下载新消息。

到那时,我就可以用 PHP 向一个帐户发送消息了。[电子邮件保护],并很容易地通过 Evolution 掌握它们。

答案2

比我 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

如果你登录 Ubuntu 的账户是“dev”,并且你想要测试发送邮件的人是,则添加“joe: dev”[电子邮件保护]

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

在 Evolution 中,选择标准 Unix mbox spool 文件(默认的 sendmail 格式),如果您的 Ubuntu 登录名为“dev”,则指向 /var/spool/mail/dev。对于外发邮件,选择“sendmail”。对于要接收的邮件,将其设置为[电子邮件保护]如果“dev”是您的 Ubuntu 登录名。

此时您的 PHP 代码可以通过电子邮件发送至[电子邮件保护],并能够轻松地在 Evolution 中掌握它们。这对于在 Ubuntu 工作站上本地调试 PHP Web 应用程序非常有用。

相关内容