linux 邮件证书,Linux 下 sendmail 的 ssl 配置

本文介绍在Linux环境下如何正确配置邮件服务器,包括安装Sendmail、启动服务、获取数字证书、配置邮件参数及测试发送邮件的过程。

Linux的邮件服务器配置是最令人烦恼的,而且网上的教程的大部分都是有问题的,这里我将比较正确的配置在这里简述一下。

第一步-安装sendmail

Centos系统:

yum install sendmail -y

Ubuntu系统:

apt install sendmail -y

第二步-启动sendmail

旧版Linux:

service sendmail start

新版Linux:

systemctl start sendmail

第三步-请求数字证书

mkdir ~/.certs/

echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt

certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs -i ~/.certs/qq.crt

certutil -L -d ~/.cert

在用户主目录生成相对应的证书文件。上面是以qq邮箱为演示对象,如果您是163邮箱,需要修改openssl s_client -connect qq.163.com:465 为 openssl s_client -connect smtp.163.com:465 , 并修改一下后面证书的名字,全部要修改(不修改名字的话,虽然不会出错,但是可能时间久了会引起混淆,或者别人配置的时候会看错,总之好习惯很重要)。

第四步-配置/etc/mail.rc

可以用vim或者vi等其他编辑器编辑配置文件/etc/mail.rc。具体格式如下:

set from=xxxx@qq.com #设置发送邮件方

set smtp=smtps://smtp.qq.com:465 #邮件服务器

# 用户名,供应商会告诉你,如果您是qq用户的话,则就是您的QQ号

set smtp-auth-user=xxxx

set smtp-auth-password=xxxxxxxxxxx #授权码

set smtp-auth=login #默认login

set ssl-verify=ignore #ssl认证方式

# 由于我测试的是root用户,所以目录是 /root/.certs

# 如果您不是root的话,目录则为 /home/user/.certs

# user 为您的用户名

set nss-config-dir=/root/.certs #证书所在目录

这里我特别强调一下授权码 set smtp-auth-password=xxxxxxxxxxx #授权码 的事,授权码不是您的qq密码或者网易账户密码,而是您申请smtp服务时,供应商额外给您的一个口令。

第五步-测试发送邮件指令

echo "hello world" | mail -s "test" xxxx@qq.com

如果您收到了该邮件,则说明您配置成功了。

其他方法

如果您仅是为了php 发送邮件的话,可以尝试使用swiftmailer库来发邮件,swiftmailer在处理附件的能力上很优秀,发送邮件也很快。

0

0

vote

Article Rating

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值