我的VPS正在运行Ubuntu,并且我希望能够接收到我的域的电子邮件。
如何轻松设置邮件服务器来做到这一点?
我的VPS正在运行Ubuntu,并且我希望能够接收到我的域的电子邮件。
如何轻松设置邮件服务器来做到这一点?
Answers:
这就是我在生产机器上设置邮件的方式。这些是我们需要的标准:
首先,我想解决看似最简单的解决方案。
sudo tasksel install mail-server
尝试执行此操作时,出现了几个问题:首先,它安装了Dovecot,这对大多数用户来说都很好,但是我们认为Courier是满足我们需求的两者中的更好者。其次,它利用了出色的Postfix,但由于它是功能更强大的MTA / SMTP服务器,因此我们还需要Exim。第三,它安装了MySQL-在配置中,我利用平面文件进行配置,因为这是一个比较小的突破。想想如果MySQL由于某种未知的原因而崩溃会发生什么。否则,其余软件包非常简单,并且对于小型邮件服务来说易于维护(请考虑总共1-2个电子邮件域)。
我们稍微偏离了正常配置的路径,但这使管理更容易。
我们所有的邮件都保存在/var/mail/virtual/<domain>/<user>/mail
那么对于未来的例子,我将使用email@example.com
,fwd@example.com
,foo@example.com
来表示一个电子邮件地址,转发去example@gmail.com
分别,和一个错误的地址。在上面的示例中将为/var/mail/virtual/example.com/email/mail
。
我还将维护服务器中所有域的列表,/etc/valiases
但稍后会提供更多信息。
这或多或少是设置的简单部分。只需安装该postfix
软件包。
安装Exim和apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
安装后,需要编辑exim默认配置以替换或添加以下值:
domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes
(这些行将出现在文件的不同部分,请相应替换每行)
完成update-exim4.conf
此操作后,即可使用以下命令重建exim配置:这将完成Exim所需的更改
与安装快递courier-base
本应安装courier-authdaemon
,courier-authlib*
,courier-imap*
,courier-pop*
,courieruserinfo
,courier-ssl
老实说,标准之外没有太多配置。您只需要创建一个用户数据库。
Exim和Courier检查了几个地方,以查看登录名或传入电子邮件是否有效。Exim检查域是否被列为本地主机名,域是否在/var/mail/virtual
或域中/etc/valiases
。
我最终创建了一些工具来简化此过程-但是添加一个新用户符合以下要求:
mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/
然后将地址添加到速递员userdb-这样他们就可以登录
userdb email@example.com set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail
确保在适当的地方替换这些值。另外- uid
并且gid
必须是邮件用户的数字用户/组ID。
userdbpw -md5 | userdb email@example.com set systempw
这将提示您输入密码,输入您要用于该帐户的密码。
makeuserdb
最后,生成userdb哈希/阴影文件。重新启动Courier并测试您的更改是否有效:
authtest email@example.com
应该产生类似的东西
Authentication succeeded.
Authenticated: email@example.com (uid 8, gid 8)
Home Directory: /var/mail/virtual/example.com/email
Maildir: /var/mail/virtual/example.com/email/mail
Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
Options: (none)
如果看到“验证失败:不允许操作”,请编辑/ etc / courier / authdaemonrc并将authuserdb添加到authmodulelist行。
所有测试已被确认后,重新启动涉及(各种服务courier-authdaemon
,exim4
),在你最喜欢的邮件客户端打开端口143,25,586,495,110和设置帐户。
对于每个域,您都应该/etc/valiases
至少在以下行中创建一个文件(如果不存在则创建一个文件):
*: :fail: No user at this address.
这是什么意思:如果传入的邮件与我记录的任何电子邮件帐户都不匹配-则该邮件应失败并退回并显示一条消息:“此地址无用户”。因此,所有发送的邮件都说:foo@example.com
将被退回为失败。
但是,我们有一些希望保留在其他地方的电子邮件地址-例如example@gmail.com-为此,我们需要创建/etc/valiases/example.com
,文件内容应如下所示:
fwd: example@gmail.com
*: :fail: No user at this address.
这样,即使fwd@example.com与服务器上的任何电子邮件帐户都不匹配,它在/etc/valiases
文件中也会匹配,并且邮件将被转发到example@gmail.com-但是,foo @ example.com仍然会失败“没有用户在此地址”消息。
最简单的方法是运行sudo tasksel install mail-server
。这将为您提供具有默认设置的电子邮件服务器。您要做的就是回答几个问题。显然,如果需要的话,您仍然可以在以后进行手动配置,但是在大多数情况下不需要。只需按照屏幕上的说明进行操作,就可以了。
绝对建议您阅读电子邮件服务管理。
官方参考:
sudo tasksel --task-packages mail-server
我没有很好的答案,但是您可能会发现这些链接很有用https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Mail和https://help.ubuntu.com/community/Postfix
只是我自己做过,您确实确实需要后缀,在我的情况下,我还想要一个imap服务器,以便可以在另一台计算机上使用一个不错的gui客户端(不提及任何名称)。我使用了这些文件:
鸽舍(imap和pop3)
它实际上非常简单,只需几分钟即可启动并运行,并且正在接收电子邮件。这对于检查所有设置是否正常都很有用。
哦,您当然必须按照以下说明正确设置dns条目(基于对我有用的设置):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
和
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
注意邮件服务器末端的句号,并在适当的地方插入您的IP地址和域名。