Centos系统--使用CentOS发送邮件
安装
• 安装mailx
yum install mailx
• 安装postfix
yum install postfix
编辑配置内容
1、安装完成后,需要对postfix进行配置以允许发送邮件。可以使用以下命令打开main.cf配置文件:
sudo vi /etc/postfix/main.cf
2、在文件末尾添加以下行,以便邮件服务器可以使用您的SMTP服务器发送邮件。如果您使用的是其他SMTP服务器,请将以下参数替换为相应的SMTP服务器参数:
relayhost = smtp.163.com:465
smtp_use_tls=yes
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=noanonymous
3、请注意,在smtp_sasl_password_maps参数中,/etc/postfix/sasl_passwd文件将包含SMTP服务器的用户名和密码。因此,需要创建此文件并将用户名和密码添加到该文件中。可以使用以下命令创建sasl_passwd文件:
sudo touch /etc/postfix/sasl_passwd
sudo chmod 600 /etc/postfix/sasl_passwd
4、然后,使用以下命令编辑sasl_passwd文件,并添加SMTP服务器的用户名和密码:
sudo vi /etc/postfix/sasl_passwd
5、添加以下行,并将用户名和密码替换为您的SMTP服务器的用户名和密码:
smtp.163.com:465 fran_lzr@163.com:OXOPCJAIXWLVDYUK
6、保存并关闭文件后,运行以下命令生成sasl_passwd.db文件:
sudo postmap /etc/postfix/sasl_passwd
7、重启邮件服务器
要使更改生效,请使用以下命令重启postfix邮件服务器:
sudo systemctl restart postfix
8、发送测试邮件
完成上述步骤后,可以使用mail命令发送测试邮件。例如,要发送一封电子邮件给user@example.com,可以使用以下命令:
echo "This is a test email" | mail -s "Test email" user@example.com
请注意,在mail命令中使用-s参数指定邮件的主题。如果邮件发送成功,则应在接收者的收件箱中收到测试邮件
9、修改/etc/mail.rc,在最后加入以下内容
vim /etc/mail.cr
追加内容
set bsdcompat
set smtp=smtps://smtp.163.com:465
set smtp-auth=login
set smtp-auth-user=fran_lzr@163.com
set smtp-auth-password=OXOPCJAIXWLVDYUK
set ssl-verify=ignore
set nss-config-dir=/root/.certs
10、处理授权465
mkdir -p /root/.certs/
#获取ssl
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i ~/.certs/163.crt
所有配置完重启postfix
systemctl restart postfix
11、测试
echo "This is a aliaaaaaa test email" | mail -s "Test email" -r fran_lzr@163.com 80445723@qq.com