个人发卡系统、图床、宝塔通知都需要一个邮件服务器,学着搭建一下

更新软件源

在安装任何软件前最好都执行一下更新软件源

sudo apt-get upgrade

开放端口

注意要开放 25 端口,开放方法就不写了,一堆方法
开放之后使用以下命令查看一下 25 端口有没有被防火墙或主机商屏蔽

sudo nmap 主机IP

我使用的是 oracle 免费实例,下面的都配置好了,发不了邮件,查了一下发现被屏蔽了。。。据说阿里云的也被屏蔽了
查看oracle服务器示例
上面 25 端口已经开放,下面虽然我打码了,但是并没有 25 端口
查看腾讯云服务器示例
可以看到是有 25 端口,服务是 smtp

安装 mailutils

mailutils 里面就包含了 sendmail 和 postfix,当然你也可以只安装 postfix,postfix 包含 sendmail
自己也试过很多遍,安装步骤大致相同,区别就是安装 mailutils 可以使用 mail 和 sendmail 命令,安装 postfix 只能使用 sendmail 命令

sudo apt install mailutils

直接OK即可
配置项,没需求选第二个即可
No configuration:表示不要做任何配置
Internet Site:表示直接使用本地 SMTP 服务器发送和接收邮件
Internet with smarthos: 表示使用本地 SMTP 服务器接收邮件,但发送邮件时不直接使用本地 SMTP 服务器,而是使用第三方 smart host 来转发邮件
Satellite system:表示邮件的发送和接收都是由第三方 smarthost 来完成
Local only:表示邮件只能在本机用户之间发送和接收
系统邮件名称
可以翻译一下,本地主机上的邮件地址为foo@example.org,则该选项的正确值为 example.org,没看太懂,但大致意思就是域名使用的是哪个,就填写主域名即可,点击 OK 之后,输入自己的主域名
输入邮件名
我这里填的 sywdebug.com

然后就安装成功了,可以使用以下命令再次打开这个玩意重新配置

sudo dpkg-reconfigure postfix

查看安装

使用以下命令查看安装版本

sudo postconf mail_version

查看版本示例

配置域名

解析一个域名到自己的服务器,记录类型为 A,例如

mail.sywdebug.com

解析@到刚解析的域名,记录类型为 MX,MX 值写 10
解析示例

发 QQ 邮件测试

我这里用 QQ 邮箱做测试,如果使用 gmail 邮箱可能会遇到错误,如果在收件箱没找到就去垃圾箱找,垃圾箱也没有的话可以去/var/log/mail.log 查看日志
方法一:

sendmail 收件人邮箱  # sendmail 向自己的邮箱发送邮件
邮件内容  # 输入邮件内容
.  # .表示结束并发送

方法一示例
方法一示例
方法二:

sendmail -F 发件人 -f 发件人邮箱前缀 -t 收件人邮箱
Subject:主题(不能使用中文)
邮件内容
.

方法二示例
方法二示例
方法三:

sendmail -t
From: 发件人邮箱前缀
To: 收件人邮箱
Subject: 主题(不能使用中文)
测试邮件内容
哈哈哈
.

方法三示例
方法三示例
方法四:

{ echo From: 发件人; echo To: 收件人邮箱; echo 邮件内容; } | sendmail -t

方法四示例
方法四示例

发 gmail 邮件配置

我在使用 gmail 邮箱测试时发生了错误,在Gmail SMTP 错误和代码可以找到所有关于 Gmail SMTP 的错误
gmail邮件发送错误

said: 550-5.7.26 This message does not have authentication information or fails to 550-5.7.26 pass authentication checks. To best protect our users from spam, the 550-5.7.26 message has been blocked. Please visit 550-5.7.26  https://support.google.com/mail/answer/81126#authentication for more 550 5.7.26 information. i7-20020a170902c94700b00155d59481eesi12099890pla.88 - gsmtp (in reply to end of DATA command))

在这里插入图片描述
看了一下大致的方法,要设置 SPF 和 DKIM,然后再设置 DMARC 巴拉巴拉的我也不懂,只知道 SPF 是解析域名,然后解析一下,记录值参考 google 的定义 SPF 记录:基本设置
我填了自己的服务器和Google Workspace
设置好后可以在Google 管理员工具箱检查
检查结果示例
我这还是有一堆问题,上面那些红色的就不管了,看了下好像要购买 google 的服务,资深白嫖党表示拒绝
下面的 DKIM、DMARC 和 Google 邮件交换器看着也有点麻烦又难懂
索性发了个邮件测试了一下
发gmail邮件测试
垃圾邮件
收到了,,但是在垃圾箱,估计把上面那些配置好就不会在垃圾箱了

修改 postfix 配置文件(感觉配不配置好像没区别)

postfix 配置文件为 /etc/postfix/main.cf

myhostname 的值为真实指向的域名,例如

myhostname = mail.sywdebug.com

添加一行 mydomain 指向自己的主域名,例如

mydomain = sywdebug.com

myorigin,mydestination 可以指向$mydomain
mydestination 本身有很多值,可以把最前面的$myhostname 改成$mydomain

myorigin = $mydomain
mydestination = $mydomain

然后使用下面命令重载配置

systemctl reload postfix

写在最后

邮件是可以发了,但是配置还不是太熟悉,一般发邮件可能都是使用后端语言进行发送,在前面提到的各种需要配置邮件发送的地方,因为要 smtp 密码,但是使用用户的密码也不对,因此不知道怎么填写,后来偶然发现之前别人配置发送邮件的是直接使用网易的或者 QQ 的,我在 freenom 自动续期脚本上还用过,,索性不搞了,直接使用 QQ 的 smtp 服务,可以参考什么是授权码,它又是如何设置?,使用比较简单,例如我使用 QQ 的发送邮件直接这么填上就行
配置QQ发送邮件记录

参考

Ubuntu 安装邮件服务器
3 分钟安装配置 Postfix 邮件服务器
安装和配置 Postfix
GNU Mailutils

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐