不,不需要在服务器上设置DNS缓存。服务器应使用附近的缓存DNS解析器,但是大多数托管公司已经为整个数据中心运行了自己的解析器,并配置了服务器以默认使用它们。
默认情况下,Postfix和Dovecot都使用本地帐户进行所有操作。如果您有一个名为的Linux帐户diti
,则可以使用它登录到Dovecot,然后可以设置Postfix以验证针对Dovecot的SMTP登录。
如果可以将所有邮件都发送到同一帐户,则可以设置纯别名(如中所述/etc/aliases
)以将邮件重定向到该帐户kra@
或重定向postmaster@
到该diti
帐户。
不需要所有这些subjectAltNames。您唯一需要的是要实际使用的域名,例如mail.diti.me
或glaux.diti.me
。我不确定您是否需要包含域本身(即diti.me
)。
以下假设该域已经配置了指向该服务器的MX记录。我通常会尝试使配置保持合理清晰,因为几个月后我总是想知道“这到底是什么”。
1.首先,安装postfix
和dovecot-imapd
软件包。当提示您有关Postfix配置时,选择“ Internet站点”选项并输入diti.me
作为邮件名称。此时,您已经可以作为发送和接收邮件diti@diti.me
,甚至可能连接到IMAP。
但是,它还没有SSL,也不允许从外部通过SMTP发送邮件,也没有一个明智的存储邮件的位置(默认情况下是中的mbox文件/var/mail
,该文件不可靠且性能不佳,尤其是使用IMAP时)。
2.如果您已经有了SSL证书,则将其放在中/etc/ssl/private/diti.me.pem
,并将私钥放在中/etc/ssl/private/diti.me.key
。确切的位置实际上并不重要,但是/etc/ssl/private
Debian保留它们的位置在哪里。
确保两个文件均归该ssl-cert
组所有并可由该组读取,以便Postfix和Dovecot可以访问它们。还可以使用将两个守护程序的帐户添加到该组gpasswd -a
。
3. Debian的自动生成的Postfix main.cf
也有点混乱,所以我将发布一个清理后的最小版本:
#服务器信息
mydomain = diti.me
myorigin = $ mydomain
#其他各种参数使用这两个变量作为默认值。
#SMTP服务
smtpd_tls_security_level =可能
smtpd_tls_cert_file = /etc/ssl/private/diti.me-mail.pem
smtpd_tls_key_file = /etc/ssl/private/diti.me-mail.key
#这允许在所有传入的SMTP连接上使用STARTTLS。
#请注意,必须将`postfix`添加到`ssl-cert`组中
#访问/ etc / ssl / private中的文件。
#政策
mynetworks = [:: 1] / 128,127.0.0.0/8,[::ffff:127.0.0.0]/104
#这列出了被认为是“可信任”的IP地址,可以使用
#此服务器将邮件发送到外部(即发送到其他域)。通过
#默认情况下,仅允许使用“ localhost”。从其他人只发邮件至
$ mydestination中的#个域将被接受。
mydestination = $ mydomain,本地主机
#接受来自任何IP地址的邮件的域列表。
# 交货
alias_maps =哈希:/ etc / aliases
#这将保留系统范围的别名。最好进行明确设置,因为
#默认值有时包括NIS,这没有任何意义。
receive_delimiter = +
#告诉后缀在第一个'+'处拆分地址的本地部分,
#所谓的“ plus-addressing”:发送到diti + foo @的邮件将被传递
#到diti @邮箱。
对于Dovecot,Debian仅使用默认的示例配置,它们足够好,并描述了每个选项。
每当您更改配置时,请使用postfix reload
和/或重新加载守护程序doveadm reload
。
4.默认情况下,Postfix以mbox格式将邮件发送到/var/mail/$USER
,格式很简单(您可以使用文本编辑器轻松查看),但是存在许多问题,尤其是IMAP,因为每次移动文件时都必须重写整个文件。消息,甚至标记为“已读”或“未读”。
更改两个守护程序以使用Maildir。(还有其他格式,但是它们倾向于特定于MTA或MDA或IMAP服务器或任何其他格式;广泛支持Maildir。)
在中/etc/postfix/main.cf
,将以下内容添加到“投放”部分:
home_mailbox =邮件/
在以下位置将Dovecot配置为使用相同的路径/etc/dovecot/conf.d/10-mail.conf
:
mail_location = maildir:〜/邮件
5.在某些时候,您需要告诉Dovecot也使用SSL。相关设置在中/etc/dovecot/conf.d/10-ssl.conf
。实际上,用于Dovecot的Debian软件包已经使用了SSL,尽管该证书带有一个自签名证书,但几乎没有用。配置它以使用您自己的证书:
ssl =是
ssl_cert = </etc/ssl/private/diti.me-mail.pem
ssl_key = </etc/ssl/private/diti.me-mail.key
6.现在您可以将邮件发送到外部并接收。仍然需要配置Postfix,以允许您通过SMTP与邮件客户端连接来从外部发送邮件。
首先告诉Postfix使用Dovecot验证登录名。以下说明主要来自Dovecot的Wiki。
Dovecot /etc/dovecot/conf.d/10-master.conf
需要侦听Postfix可以访问的套接字。默认配置已经有一个注释掉的示例:
服务验证{
...
unix_listener / var / spool / postfix / private / auth {
模式= 0660
用户=后缀
组=后缀
}
...
}
而Postfix需要使用它- /etc/postfix/main.cf
再次:
#认证
smtpd_sasl_type =鸽舍
smtpd_sasl_path =私人/身份验证
#对于Cyrus SASL'saslauthd',其他可能的类型是“ cyrus”
#守护程序。我选择Dovecot是因为它可以很好地用作SASL服务器,并且
#让它同时处理两个守护程序的身份验证更加简单。
7.请注意,上面没有设置smtpd_sasl_auth_enable
任何地方。当前的约定是不全局启用SMTP身份验证,而仅将tcp / 25保留为“服务器到服务器” SMTP端口。同时,来自用户的新消息将通过tcp / 587上的SMTP接受,这是“邮件提交”端口,需要进行身份验证。一些ISP甚至由于垃圾邮件而阻止了tcp / 25,但由于通常安全性更高,因此请保持tcp / 587处于打开状态。
/etc/postfix/master.cf
使用SASL身份验证启用中的“提交”端口。默认值master.cf
已经具有必要的行,只需要取消注释即可,尽管其中一些仍应保留。
提交inet n----smtpd
-o syslog_name =后缀/提交
-o smtpd_tls_security_level =加密
#“提交”端口将需要TLS,而不是使其成为可选端口
-o smtpd_sasl_auth_enable =是
#...以及允许用户登录。
#-o smtpd_reject_unlisted_recipient =否
#-o smtpd_client_restrictions = $ mua_client_restrictions
#-o smtpd_helo_restrictions = $ mua_helo_restrictions
#-o smtpd_sender_restrictions = $ mua_sender_restrictions
#这四个选项可以被注释掉;如果启用,他们会
#希望您在'main.cf'中设置自定义限制规则,但是
#默认的就可以了。
-o smtpd_recipient_restrictions = permit_sasl_authenticated,拒绝
#默认的receive_restrictions检查IP地址和
#$ mydestination。对于“提交”端口,允许所有内容
#当用户登录时,但拒绝所有匿名邮件。
-o milter_macro_daemon_name =发起
#如果您以后决定设置DKIM代理等,这将允许
#区分用户提交的邮件和收到的传入邮件。
#这是默认配置的一部分,因此也包含在此处。
如果您的邮件客户端需要旧式的“隐式SSL”端口(tcp / 465),则可以取消注释其中的smtps
行master.cf
-如果需要,请保留与submission
端口类似的设置。
8.最后,通过编辑为您的帐户设置别名/etc/aliases
。的postmaster
别名基本上需要; 如果您的邮件服务器有问题,请联系我们。指向root
和其他类似的别名也很好。
基本格式记录在别名(5)中:
postmaster: root
admin: root
root: diti
kra: diti
每次编辑此文件时,请使用postalias
或newaliases
更新哈希数据库/etc/aliases.db
。
现在,diti
就Postfix和Dovecot而言,您仍然有一个帐户被调用,但是发送至的邮件kra@...
也被转发到该帐户。某些邮件客户端(例如Thunderbird)为单个邮件服务器支持多个“身份”或“角色”,因此您可以在不同的“发件人:”地址之间进行选择。
就是这样 稍后,我可能会返回有关procmail,虚拟域,SPF和/或DKIM的说明。