我可以安装一个简单的邮件服务器吗?


15

我在桌面上安装了ubuntu,而不是服务器。但是我正在运行本地LAMP堆栈进行开发。我可以安装一个简单的邮件服务器,以便PHP的sendmail正常工作吗?

理想情况下,它将具有很少的选项和最少的配置,最好是GUI而不是CL接口。

编辑添加-我是否使用“仅限本地”配置来测试php mail()? 在此处输入图片说明

Answers:


4

我安装过的最简单的工具是dovecot的后缀。有一个dovecot-postfix软件包,但看起来Ubuntu服务器团队也将其打包为mail-stack-delivery:

Description: mail server delivery agent stack provided by Ubuntu server team
 Ubuntu's mail stack provides fully operational delivery with
 safe defaults and additional options. Out of the box it supports IMAP,
 POP3 and SMTP services with SASL authentication and Maildir as default
 storage engine.

在软件中心中查看时,我看到dovecot-postfix以meta-pacakge的形式出现(但我不知道从现在起它是否被称为一个或两个版本)。但这就是我的建议-既简单又安全。

从我的10.10桌面上的命令行,我通过apt-get安装了它:

sudo apt-get install dovecot-postfix

如有需要,请试一试,如果有疑问,请开始撰写新帖子。


这是一篇古老的(2009年)Ubuntu Server博客文章,其中提供了有关do​​vecot-postfix配置的一些详细信息。

我试图找到有关以Ubuntu为中心的邮件服务器项目当前状态的更多信息。目前,除了找到使反垃圾邮件/病毒集成更容易的Wiki帖子外,我发现的内容还不多。


1
为什么还要使用Dovecot?这是POP3 / IMAP服务器。除非有人也想接收邮件并使用户能够通过POP3 / IMAP访问它们,否则不需要它。只有一件事有用时:postfix可以使用dovecot的auth守护程序用作SMTP身份验证的身份验证后端。但是,我认为PHP的mail()并不需要它,除非有人为PHP提供了自己的“手动编写”邮件解决方案,该解决方案甚至在邮件提交的情况下也包括SMTP身份验证。在其他情况下,仅“ postfix”包就足够了。
LGB

正如您所提到的,我知道它很容易配置,并且我安装了它用于身份验证和安全功能。我已经安装了它并且可以工作,而我还没有在Ubuntu系统上单独安装postfix,所以我个人不能为此提供担保。
belacqua

@jgbelacqua,所以我决定试一试您的版本。由于这严格来说是一个开发环境,而我要做的就是测试php mail()功能,我会使用本地配置吗?(我在原始帖子中添加了配置屏幕的屏幕快照。)
EmmyS 2011年

我们在我们工作的ISP处使用postfix,但它当然不是“仅适用于PHP mail()的简单邮件服务器”的规模:)
LGB

1
@jgbelacqua-谢谢。有效!我不得不将协议设置从sendmail更改为仅普通邮件(在我的php代码中),但确实可以发送。
EmmyS,2011年

7

只是postfix需要。

对于设置,只需使用默认值即可。互联网网站。当您到达它时,有一个部分用于设置允许哪些计算机通过服务器中继邮件。默认值为127.0.0.1(措辞稍微冗长一些),这很好。这意味着即使另一台计算机可以连接到postfix,也postfix不允许它将邮件发送到任何地方,但是postfix接受作为“本地”域的目的地。

但是,最重要的是,良好的网络安全性不会受到损害。阻止传入连接的路由器和/或防火墙(请参阅ufw参考资料)将停止其他任何人的联系postfix

如果需要重新配置,只需运行:

sudo dpkg-reconfigure postfix

为了进行测试,我将其设置为使用您的ISP的中继作为Smarthost。要在Internet上正常运行,您需要一个静态IP地址和正确的DNS条目。
BillThor 2011年

@BillThor否。不发送电子邮件。您只需要一个非常简单的设置,而无需为传入连接做准备。
奥利

@Oli是的,但没有正确的DNS记录,许多站点会将您的电子邮件引导到垃圾邮件存储桶中。如果您的地址是动态的并且在Spamhaus中列出,则很多域将完全拒绝它。
BillThor 2011年

实际上,网域是否拒绝它对我来说都没有关系-严格来说,这只是出于测试目的,因此我只向自己发送邮件,只要我能看到postfix邮件队列知道它尝试发送,我很好。
EmmyS,2011年

@BillThor当然,您不会获得相同级别的信任,但是我们正在谈论开发箱。如果您需要信任(谈论的方式),则可以使用专业的服务,该服务会花费时间和金钱来证明其邮件服务器的输出为火腿。我的观点是鸽舍,dns等都是时间/资源浪费。您需要的只是postfix的默认配置。
奥利(Oli)

1

如果只想在本地调试,则可以遵循stackoverflow上介绍的这种方法。php.ini中的单行,没有其他软件包。将外发邮件写入文件,以便调试html邮件时可以使用邮件客户端打开该文件。

sendmail_path = 'tee /tmp/mylocal.mail > /dev/null'

0

嗯,邮件服务器的GUI或CL接口不是一个重要的问题,因为无论如何您都不需要邮件服务器的UI,仅在初始配置时就可以了(好的,也许有时在进行诸如中继主机之类的配置更改时) ,但是对于已经正常工作的服务器来说,这种情况非常少见)。因此,我认为这不是重要的方面。我可以建议使用postfix,只需安装即可(apt-get install postfix),并且在安装时会询问最基本的配置设置。然后,它将可以与PHP的mail()等一起使用,无需进一步配置或日常使用大量UI(例如GUI或CLI,尽管我不知道用于后缀配置的GUI,也许是一些常规的系统配置解决方案就像webmin会为此目的工作)。请注意,不要产生开放的中继系统:)


“请小心,不要生产开放式中继系统”-这就是为什么我要使用GUI界面进行简单操作的原因。我是开发人员,而不是邮件管理员,并且我需要能够轻松,安全地进行设置,以达到能够测试发送电子邮件的php代码的单一目的。
EmmyS 2011年

我明白你的意思了。但是,如果您只希望底层基础结构PHP mail()函数的邮件服务器能够发送邮件,这是一个非常简单的情况,您可以忘记99%的邮件服务器管理员的问题。特别是如果您有一台固定的邮件服务器,您想通过它发送邮件(称为“中继”或“ smarthost”),这是非常简单的事情,甚至在软件包安装时问的几个问题也足以作为“配置”。可能会出现问题,例如有人破解了网页并将其用作垃圾邮件来源,但与邮件服务器无关,更多的PHP /网络托管安全漏洞...
LGB

我会试一试。现在,这是100%本地主机。
EmmyS 2011年

在服务器解决方案中将GUI视为易于配置也是错误的:我的许多朋友都认为Windows变得更容易,因为您不需要了解“ CLI和其他复杂的事物”,而您已经是服务器管理员。但是,即使在GUI上,您也不知道与Deep-smtp相关的东西意味着什么的问题,GUI不会给您比CLI多的好处。但这超出了问题的范围,因为您的需求不是功能齐全的邮件服务器,只有一个很小的用于从PHP提交邮件的服务器。如果我对你的理解很好。
LGB

无论如何,我仍然认为仅安装postfix软件包是可以的,您需要回答一些简单的问题。如果要更改,可以发出“ sudo dpkg-reconfigure后缀”以再次询问这些参数。postfix.org/postconf.5.html如您所见,postfix具有大量的配置参数,而GUI在这方面无济于事。但是出于您的目的,我认为只需要设置程序包配置就可以了,然后就可以了:) :)
LGB,


0

MailCatcher运行一个超级简单的SMTP服务器,该服务器捕获发送给它的任何邮件以在Web界面中显示。运行mailcatcher,将您喜欢的应用程序设置为传递到smtp://127.0.0.1:1025,而不是默认的SMTP服务器,然后查看http://127.0.0.1:1080,以查看到目前为止已收到的邮件。

https://mailcatcher.me/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.