CentOS Mail 发邮件指南

准备工作
在CentOS系统中发送邮件,首先需要确保系统中已安装邮件服务器软件,本文以Postfix邮件服务器为例进行讲解。
安装Postfix
sudo yum install postfix
配置Postfix
编辑/etc/postfix/main.cf文件,进行以下配置:
# 设置邮件服务器的主机名 myhostname = mail.example.com # 设置邮件地址的域 mydomain = example.com # 设置邮件服务器的主机地址 myorigin = $mydomain # 设置邮件接收地址 inet_interfaces = all mydestination = $myhostname, $mydomain, localhost.$mydomain, $mydomain # 设置邮件发送地址 mynetworks = 127.0.0.0/8, 192.168.0.0/16 # 设置邮件转发地址(可选) # mydestination = $myhostname, $mydomain, localhost.$mydomain, $mydomain, !$mydomain # mydestination = $myhostname, localhost.$mydomain, !$mydomain # 启用TLS加密 smtpd_tls_cert_file = /etc/ssl/certs/mycert.pem smtpd_tls_key_file = /etc/ssl/private/mykey.pem smtpd_use_tls = yes smtpd_tls_auth_only = yes smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt # 启用SSL加密 smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_userDN = uid=$user,dc=example,dc=com smtpd_sasl_local_domain = $mydomain smtpd_sasl_password_file = /etc/postfix/sasl_passwd # 设置邮件发送限制(可选) # mynetworks_style = host # smtpd_relay_restrictions = permit_sasl_authenticated, reject_unauth_destination
生成SSL证书和私钥
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/certs/mycert.pem -out /etc/ssl/certs/mycert.pem
创建sasl_passwd文件
sudo vi /etc/postfix/sasl_passwd
user@example.com:password 保存并退出。

为sasl_passwd文件设置权限
sudo chmod 400 /etc/postfix/sasl_passwd
更新sasl_passwd文件
sudo postmap /etc/postfix/sasl_passwd
发送邮件
安装邮件客户端
sudo yum install sendmail
发送邮件
echo "邮件内容" | sendmail -t user@example.com
或者使用mail命令:
echo "邮件内容" | mail -s "邮件主题" user@example.com
FAQs
Q1:如何查看邮件服务器日志?

A1:CentOS系统中,Postfix邮件服务器的日志文件位于/var/log/postfix/目录下,包括maillog、smtpd.log、smtp.log等。
Q2:如何设置邮件服务器为垃圾邮件过滤器?
A2:可以安装SpamAssassin软件作为垃圾邮件过滤器,首先安装SpamAssassin:
sudo yum install spamassassin
然后编辑/etc/postfix/main.cf文件,添加以下内容:
# 启用SpamAssassin smtpd_recipient_restrictions = permit_mynetworks, check_spam, permit
最后重启Postfix服务:
sudo systemctl restart postfix

