一、前言
最近正在学习SSL,在这里做下总结。Java自带了keytool工具可以生成SSL证书。无论是smtps还是https服务,最后都离不开将证书导入jdk\jre\security\cacerts密钥库中。
SSL在我看来负责进行加密,防止黑客拦截请求,篡改数据导致损失。
keytool常用指令:
keytool -genkey -alias task -keystore D:\task.keystore
keytool -export -alias task -keystore task.cer -file D:\task.keystore
keytool -import -alias task -keystore cacerts -file D:\task.cer
二、smtps服务
-
下载jame3.3.0以及Foxmail7.2
-
将.keystore文件拷贝到james/conf目录下,生成的.cer证书要导入jdk/jre/lib/security/cacerts中
-
修改james/conf中的wrapper.conf配置文件中添加
wrapper.java.additional.15=-Djava.io.tmpdir=../tmp
否则会出现发送邮件成功但是未收到邮件的问题(在log/james-server文件中可以看到异常)
- 运行bin目录下run.bat、james intsall,james start
- 运行
james-cli -h 127.0.0.1 -p 9999 addUser test@localhost 123
- 运行Foxmail增添帐户,测试发送邮件
- 网上有很多smtps服务的邮件发送程序,照搬一个,运行,没问题。
待续