配置postfix邮件发送服务

作者: writer 分类: 技术 发布时间: 2020-06-10 11:03 ė 138 6 没有评论

这里记录一下Linux系统里通过命令行发送邮件需要的做的配置和操作方法。需要的包是两个postfix和mailutils

注意:有些vps服务商限制了25,465,587的outboud端口来防止滥发垃圾邮件,事先需要检查自己的机器是否打开了这几个端口。

第一步:通过下面的命令安装postfix和mailutils包

apt-get install postfix mailutils

第二步:设定SMTP服务的服务器地址,用户名和密码

打开/etc/postfix/sasl_passwd文件,写入下面这一行的内容

[mail.isp.example] username:password

如果用的是587端口的认证方式,比如outlook邮箱,需要这样写

[mail.isp.example]:587 username:password

运行postmap命令生成哈希db文件

postmap /etc/postfix/sasl_passwd

如果顺利的话,你会在/etc/postfix目录下面找到sasl_passwd.db的文件被创建。为了确保这些文件的内容只被当前root用户所见,还需要修改文件的用户组和只被当前用户访问的权限。

chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

第三步:设定Relay Server

还是打开/etc/postfix/main.cf,设定relayhost为第二步中的smtp服务器

relayhost = [mail.isp.example]:587

并且在main.cf文件的末尾添加下面几行设定认证方法

# enable SASL authentication
smtp_sasl_auth_enable = yes
# disallow methods that allow anonymous authentication.
smtp_sasl_security_options = noanonymous
# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Enable STARTTLS encryption
smtp_use_tls = yes
# where to find CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

保存好配置以后重启postfix服务

systemctl restart postfix

用mail命令发送一封测试邮件

用下面的命令发送一封测试邮件

echo "body of the email" | mail -s "This is a Subject" -a "From: [email protected]" [email protected]
  • -s 参数表示邮件标题
  • -a 参数设定邮件头的发件人地址
  • -A 可选参数可以添加附件
  • 最后的参数是收件人地址

本文出自扉启博客,转载时请注明出处及相应链接。

本文永久链接: https://www.feiqy.com/postfix/

0

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Ɣ回顶部