在项目中的用户注册模块我们通常会用到通过邮件发送激活码来进行激活用户。
这样我们就需要学习到邮件的发送。
邮件有发送和接收两方,所以我们这里需要用到两个协议
邮件传输协议 SMTP(Simple Mail Transfer Protocol)
邮件访问协议 POP3(Post Office Protocol-Version3) 和 IMAP(Internet Mail Access Protocol)(我们使用的是较为简单的POP3)
我们先看一下邮件发送的示意图:
一般公司分为两个服务器,一个用来接收邮件,一个用来发送邮件。
我们通过SMIP协议发送邮件,对方服务器先将邮件保存到本地服务器,然后对方用户通过POP3和用户名密码登录自己的账号从本地中拿取对应的邮件。
我们来操作一下:
第一步:首先我们要创建发送服务器和接收服务器。
发送服务器我们这里用的是:
接收服务器:
我们要在发送服务器中设置好特定的域名,建立两个用来进行测试的用户。
然后建立一个充当官方的用户
然后我们打开Foxmail 将zhangsan用户登录进去。(我们准备通过官方service用户 来发送邮件给 zhangsan用户)
因为我们使用的是本地使用,所以填写localhost
Foxmail中就显示我们将用户zhangsan添加进来了
第二步:回到java 代码模块。
javaEE5中有自带的 active 和 mail jar文件,但是包含的不全面。所以我们需要自己引入jar包。
但是我们会引起Jar冲突的问题,所以我们得先解决冲突问题。将原本的jar文件删除。
删除步骤:windows---preferences
我们刷新项目列表然后将重新下载好的包粘贴进lib目录下。
步骤三:建立MailUtils工具类 编写发送邮件的方法 sendMail()。
步骤四:调用发送方法进行测试:
运行结果:
小贴士:
在message.setRecipient(RecipientType.TO, new InternetAddress(name));
中收件人类型有三种。