前言
为了扩大bitwardenrs的使用范围,想要开启其中的SMTP功能,这就需要使用邮箱服务。虽然大多数电子邮箱服务商都提供现成的SMTP功能,但一方面为了充分利用已有的资源,另一方面,bitwardenrs作为self-host服务,邀请别人注册时却使用QQ邮箱、163邮箱就会显得很怪异,因此,最后还是决定建立自己的邮箱服务器,而且以后也可以用在其他地方,何乐而不为呢?
过程
准备工作:域名、一台开放25端口的服务器、宝塔面板。
其中第二个条件很重要,因为很多服务器提供商都把25端口封了,据我说知,国内的大厂基本都封了,以前还可以发工单解封,现在发工单也没用。具体的端口开放测试可以用下述命令,当然,测试前最好去面板先放行25端口:
telnet smtp.aol.com 25
如果看到类似下面的信息,则说明端口是开放的:
Trying 188.125.73.29...
Connected to smtp.aol.g03.yahoodns.net.
Escape character is '^]'.
220 smtp.mail.yahoo.com ESMTP ready
如果提示超时,则说明端口被封,如果找不到解封的办法,这篇文章可以不用看了:
Trying 188.125.73.29...
telnet: Unable to connect to remote host: Connection timed out
1.安装宝塔邮局管理器
去宝塔的软件商店安装邮局管理器
2.设置SMTP服务器地址
去自己域名的DNS服务商那里为SMTP服务器地址添加A记录,通常邮箱服务器我们设置主机记录的值为mail,记录值填写服务器的IP地址。
3.邮局管理器域名设置
打开宝塔面板中的邮局管理器设置,依次点击域名列表--->添加域名,在邮箱域名一栏填写自己的顶级域名mydomain.com
,在A记录一栏填写之前设置的SMTP服务器地址mail.mydomain.com
4.添加邮局DNS解析
上一步添加完后,会弹出如下界面:
点击右侧的添加记录值,会出现如下界面:
根据上述提示去DNS服务商那里添加相应的四条DNS解析:一条MX记录和三条TXT记录。设置好并且等DNS解析生效后,点击下方的“已设置,验证域名解析”
5.启动邮局服务
上述设置完成后,域名列表项会出现下述情况:
如果设置正确就应该像第二条一样全是绿色,如果设置错误就会像第一条一样出现红色错误项,这时应该仔细检查相应的DNS解析项是否设置错误。如果有,就去改正过来直至全为绿色。
之后点击服务状态选项卡,如果如下图全为绿色已启动说明已经成功了:
但我设置完后Postfix一直启动失败,这时候去查看日志,通常是权限的问题,参见这篇文章,但我遇到的情况比文章里说的更复杂,日志里有些文件目录是要求root用户:
warning: not owned by root: /var/spool/postfix/lib/x86_64-linux-gnu/libresolv.so.2
warning: not owned by root: /var/spool/postfix/lib/x86_64-linux-gnu/libnss_compat.so.2
warning: not owned by root: /var/spool/postfix/lib/x86_64-linux-gnu/libnss_hesiod.so.2
warning: not owned by root: /var/spool/postfix/usr/lib/sasl2
这样的错误信息非常多,我只取了其中三条,因此我是参见那篇文章执行了
chown -R root /var/spool/postfix/
chown -R root /var/lib/postfix/
不过问题还是没有彻底解决,我又参考这篇文章执行了
chmod 755 -R /var/spool/postfix
可postfix还是不能成功启动,输出了如下的错误信息:
postfix/postfix-script: warning: not owned by postfix: /var/spool/postfix/incoming
postfix/postfix-script: warning: not owned by postfix: /var/spool/postfix/private
postfix/postfix-script: warning: not owned by postfix: /var/spool/postfix/public
postfix/postfix-script: warning: not owned by postfix: /var/spool/postfix/saved
postfix/postfix-script: warning: not owned by postfix: /var/spool/postfix/trace
postfix/postfix-script: warning: not owned by postfix: /var/spool/postfix/maildrop
因此我分别将上述目录赋予postfix:
chown -R postfix /var/spool/postfix/incoming
chown -R postfix /var/spool/postfix/private
chown -R postfix /var/spool/postfix/public
chown -R postfix /var/spool/postfix/saved
chown -R postfix /var/spool/postfix/trace
chown -R postfix /var/spool/postfix/maildrop
但还是出现了下面的错误信息:
postfix/postfix-script: starting the Postfix mail system
postfix/postfix-script: fatal: mail system startup failed
然后使用lsof -i:25
查看25端口占用,将相应的进程kill掉,最后postfix终于是成功启动了。
6.邮件测试
在域名列表项选择用户管理,添加一个邮箱用户,为其设置用户名、密码、邮箱容量。然后去发送邮件选项卡里发送一封测试邮件,如果收件人能收到邮件,就说明部署成功了。
在这里说明一下,如果用QQ邮箱作为收件人测试,最好先去QQ邮箱设置域名白名单,将邮箱域名添加进白名单,我一开始怎么测试QQ邮箱都收不到测试邮件,但gmail却可以,最后设置了域名白名单才终于收到了。
使用
虽然在宝塔面板的邮局管理器可以发信、收信,但这样只能自己用,也很不方便,因此在实际使用的时候我们只是借助这个部署的SMTP、POP3、IMAP服务,具体的客户端可以使用其他支持这些协议的APP,比如邮箱大师、Foxmail,其实大多数邮箱APP都支持的说。而需要的服务器信息在用户管理页面都可以找到:
本站未做转载声明的文章均为原创,版权归https://blog.3014159.xyz所有, 转载文章均会在文内声明转载信息并标明来源。 本文作者为圆周驴,原文链接为https://blog.3014159.xyz/server/2020/11/17/31.html,转载需注明原文链接。谢谢!