【SSH网上商城】实现邮件发送功能
来源:互联网 发布:gpu编程 编辑:程序博客网 时间:2024/05/18 02:13
前言
目前随着互联网的发展,在项目中通过邮件给用户发通知已经是一个很常见的事情了,给用户发邮件、发短信类似的功能很常见,所以小编今天就在此总结一下如何实现发邮件的功能呢?
叙述
首先了解一下,实现邮件发送功能的大概思路是什么样的吧。
发送激活邮件:
* 电子邮箱:邮箱账号(邮箱地址)
* 邮件服务器:
* 邮件协议:
SMTP:发送邮件协议
POP3:接收邮件协议
* 邮箱发送全过程:
* 搭建邮箱服务器:
安装邮箱服务器:
修改域名:工具---->服务器设置---->shop.com
注册账号:账号---->新建账号
* 安装客户端软件:(接收和发送邮件.) outlook 或 foxmail
配置:
配置发送邮件服务器:localhost
配置接收邮件服务器:localhost
* 编码实现发送邮件:
导入mail.jar和activation.jar
编写代码完成发送邮件
如下图,aaa@sina.com 账号登录客户端,发送邮件连接的是SMTP服务器,然后创建了一个邮件对象将主题、收件人地址、邮件正文等信息保存到本地,点击发送后通过连接接收方的SMTP服务器将邮件保存到硬盘上,然后收件方aaa@163.com 账号登录接收邮件,通过连接POP服务器从硬盘上获取邮件并返回到客户端显示。
具体步骤:
1、搭建邮箱服务器:安装软件eyoumailserversetup.exe
2、修改域名:工具---->服务器设置---->shop.com
3、注册账号: 账号---->新建账号
这样我们就新建好了测试的邮箱账号,在这里用Foxmail来接收邮件。
4、安装foxmail并配置发送邮件服务器:
5、引用jar
6、具体的代码实现
邮件发送的工具类:
package cn.itcast.shop.utils;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.Message.RecipientType;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;/* * 邮件发送工具类 */public class MailUtils {/* * 发送邮件的方法 * @param to 收件人 * @param code 激活码 */public static void sendMail(String to,String code){/* * 1、获得1个Session对象 * 2、创建一个代表邮件的对象Message * 3、发送邮件transport *///1、获得对连接象Properties props=new Properties();props.setProperty("mail.host", "localhost");Session session=Session.getInstance(props, new Authenticator(){@Overrideprotected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication("service@shop.com","1");}});//2、创建邮件对象Message message = new MimeMessage(session);// 设置发件人:try {message.setFrom(new InternetAddress("service@shop.com"));// 设置收件人:message.addRecipient(RecipientType.TO, new InternetAddress(to));// 抄送 CC 密送BCC// 设置标题message.setSubject("来自北极激活邮件");// 设置邮件正文:message.setContent("<h1>北极激活邮件!点下面链接完成激活操作!</h1><h3><a href='http://192.168.21.197:8088/shop/user_active.action?code="+code+"'>http://192.168.21.197:8088/shop/user_active.action?code="+code+"</a></h3>", "text/html;charset=UTF-8"); // 3.发送邮件:Transport.send(message);} catch (AddressException e) {e.printStackTrace();} catch (MessagingException e) {e.printStackTrace();}}public static void main(String[] args){sendMail("zz@shop.com","1111");}}
在service中实现代码 //业务层完成用户注册代码:public void save(User user) {//将数据存入数据库user.setState(0); //0代表用户未激活。 1代表用户已经激活String code = UUIDUtils.getUUID()+UUIDUtils.getUUID();user.setCode(code);userDao.save(user);//发送激活邮件MailUtils.sendMail(user.getEmail(),code);}
如此,实现了邮件的发送功能,接下来是用户收取邮件,看一下效果。
小结
- 【SSH网上商城】实现邮件发送功能
- SSH网上商城---邮件发送
- [SSH网上商城]发送激活邮件
- SSH网上商城之实现邮件激活用户账户功能
- 网上商城JaChart生成报表、发送短信和邮件功能
- 【SSH网上商城项目实战13】Struts2实现文件上传功能
- 【SSH网上商城项目实战13】Struts2实现文件上传功能
- 【SSH网上商城项目实战13】Struts2实现文件上传功能
- JavaMail发送邮件功能实现
- .NET实现发送邮件功能
- phpMailer实现发送邮件功能
- VC++实现发送邮件功能
- C#实现邮件发送功能
- 实现 一个邮件发送功能
- Java实现发送邮件功能
- python实现邮件发送功能
- Swift - 实现发送邮件功能
- PHP发送邮件功能实现
- IDEA+SpringMVC+Spring+Mybatis整合方式
- iOS图片需求
- ajax POST
- Web表单
- JAVA强制类型转换
- 【SSH网上商城】实现邮件发送功能
- python与机器学习(1)--python的安装配置
- 深度学习笔记(二)-模型训练
- android不同环境生成的apk不同名,防止环境渠道选择错误
- ubuntu16安装Torch
- RocketMQ 关键特性
- 当FragmentTabHost切换Fragment时,重复调用Fragment的onCreatView方法的解决办法
- android 使用第三方字体库
- UI自动化-解决win7 64位 ODBC数据源找不到SYBASE驱动问题