javaMail
javaMail
- SMTP: Simple Message Transfer Protocal 发送协议 默认端口:25
- POP:Post Office Protocal 邮局协议。POP3这个版本用的最多,端口:110
发邮件的过程:
使用代码发邮件
- 引入依赖
在pom.xml中引入依赖
还有与Spring整合的
- 具体业务,当新员工入职的时候发送邮件
|
|
引入到项目中,入职员工后发送邮件
- 在数据库增加邮件字段
- 发送邮件的代码可以封装成一个Utils,在Service完成业务
- 邮件发送的工作,需要用到网络,比较耗时。并且也是一个独立的任务
所以可以开启一个新线程,来发送
1234567891011Thread th = new Thread(new Runnable(){public void run(){try{MailUtil.sendMsg(entity.getUserinfo().getEmail(),"新员工入职信息","欢迎"+entity.getUserinfo().getName()+"加入xxx,您的登录名是"+entity.getUsername()+"密码是:"+entity.getPassword());}catch(Exception e){e.printStackTrace();}}});//启动线程th.start();因为匿名内部类使用外边的变量要加final。所以在外边的entity上加final
- 这里的异常要捕获,因为有事务,所以在这的异常要捕获,即使失败了自己处理就行,不会影响员工入职
javaMail与Spring整合
- 引入pom依赖前面已经引了
创建一个配置文件mail.properties
1234mail.host=smtp.163.commail.username=发送人用户名mail.password=密码mail.from=zc@163.com创建一个
applicationContext-mail
配置文件,先加载mail.properties
<context:property-placeholder location="classpath:mail.properties" />
然后
|
|
- 测试一下12345678910111213@Testpublic void testJavaMail() throws Exception{ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-mail.xml");//得到了简单邮件的消息对象SimpleMailMessage smm = (SimpleMailMessage) ac.getBean("mailMessage");smm.setTo("113@qq.com");smm.setSubject("今天晚上约你");smm.setText("本人是一个18岁的小姑娘,相约回龙观东大街");//得到发送器JavaMailSender mailSender = (JavaMailSender) ac.getBean("mailSender");//发送mailSender.send(smm);}
整合进ssh,在ServiceImpl中把
mailMessage
跟mailSender
注入1234567891011121314//使用spring与javaMail实现新员工入职时邮件的发送Thread th = new Thread(new Runnable() {public void run() {try {mailMessage.setTo(entity.getUserinfo().getEmail());mailMessage.setSubject("新员工入职信息");mailMessage.setText("欢迎"+entity.getUserinfo().getName()+"加入传智播客集团,您在公司的账号:"+entity.getUserName()+",密码:"+SysConstant.DEFAULT_PASS);mailSender.send(mailMessage);//发送邮件} catch (Exception e) {e.printStackTrace();}}});th.start();- SMTP协议(发送邮件的时候控制台中输出):
- 334 DXNLtYTE0 http协议中请输入用户名
- 334 UGFzc3dvcmQ6 http协议中请输入密码
- SMTP协议(发送邮件的时候控制台中输出):
发送复杂的内容
发送邮件的时候可能会有图片跟附加文件:
当然首先要引入依赖跟配置配置文件
|
|