java mail tls_sendmail+tls+java

sendmail+tls

vim /etc/mail/sendmail.mc

找到如下行,去掉注释,修改路径及名称

define(`confCACERT_PATH', `/etc/mail/certs')dnl

define(`confCACERT', `/etc/mail/certs/cacert.pem')dnl

define(`confSERVER_CERT', `/etc/mail/certs/mysmtp.pem')dnl

define(`confSERVER_KEY', `/etc/mail/certs/mysmtp.pem')dnl

完成后,重新生成sendmail.cf文件

m4 /etc/mail/senmail.mc >/etc/mail/sendmail.cf

生成证书:

cd /etc/mail/certs

生成CA的签名及证书

openssl req -new -x509 -keyout cakey.pem -out cacert.pem -days 3650

生成Sendmail的证书

openssl req -nodes -new -x509 -keyout mysmtp.pem -out mysmtp.pem -days 3650

查看证书

openssl x509 -noout -text -in /etc/mail/certs/mysmtp.pem

看看生成的信息是否正确。

验证

sendmail -d0.1 -bv root  如下,主要看是否有SASLv2和STARTTLS。如果有,证明正常。

Compiled with: DNSMAP LOG MATCHGECOS MILTER MIME7TO8 MIME8TO7

NAMED_BIND NETINET NETUNIX NEWDB PIPELINING SASLv2 SCANF

STARTTLS USERDB XDEBUG

启动sendmail

service sendmail start

查看日志是否有错误输出:tail -f /var/log/maillog,如果没有,在客户端outlook的smtp设置中,选中此服务器要求ssl验证,端口改为465。测试发送邮件,如果正常,证明安装成功。

===============================================================

java中使用ssl来调用此mailserver来发送邮件的话,需要导入证书改为私钥。

导入一个Pem的证书文件为java的私钥

1、转换pem格式为der格式

openssl x509 -outform der -in /etc/mail/certs/mysmtp.pem -out /etc/mail/certs/mysmtp.der      //其中/etc/mail/certs为存放pem文件的路径

2、linux下导入

$JRE/bin/keytool -import -alias sendemail -keystore $JRE/lib/security/cacerts -file /etc/mail/certs/mysmtp.der

windows下导入

keytool -import -alias your-alias -keystore %JAVA_HOME%\jre\lib\security\cacerts -file certificate.der

导入时提示需要密码,默认的keystore密码为:changeit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值