[Utils]JavaMail制作与使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Utils]JavaMail制作与使用相关的知识,希望对你有一定的参考价值。
JavaMail应用场合主要是发送验证码或激活账号
首先:创建JavaMail工具类
import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Date; import java.util.Properties; /** * 发送账号激活邮件 * @author Zenz * */ public class MailUtils { /** *@param: usermail 邮件接收账号 *@param: code 激活验证码 **/ public static void sendMail(String usermail, String code) throws Exception{ //1.设置邮件参数 Properties prop = new Properties(); //1.1 指定协议 prop.put("mail.transport.protocol", "smtp"); //1.2 主机 prop.put("mail.smtp.host", "服务器IP地址"); //1.3 端口号 prop.put("mail.smtp.port", 25); //1.4 用户密码认证 prop.put("mail.smtp.auth", "ture"); //1.5 调试模式 prop.put("mail.debug", "ture"); // 2.创建一个邮件的会话 Session session = Session.getDefaultInstance(prop); //3.创建邮件体对象 MimeMessage message = new MimeMessage(session); //4.设置邮件体参数 //4.1 邮件标题 message.setSubject("XXX账号激活"); //4.2 发送时间 message.setSentDate(new Date()); //4.3 发件人 message.setSender(new InternetAddress("[email protected]")); //4.4 收件人 message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(usermail)); //4.5 邮件内容 message.setContent("<h1>点击下面链接完成激活</h1> <h3><a href=‘http://xx<!-- 激活账号的action方法-->xx.action? code="+code+"‘>http://xx<!-- 激活账号的action方法-->xx.action? code="+code+"</a></h3>", "text/html;charset=UTF-8"); //保存邮件(可选) message.saveChanges(); //5.发送 Transport trans = session.getTransport(); trans.connect("service","root"); trans.sendMessage(message, message.getAllRecipients()); trans.close(); } }
使用:在保持账号信息到数据库的同时,调用javamail发送邮件
import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * Created by Zenz. */ @Service("userService") public class UserServiceImpl implements UserService { @Resource private UserDao userDao; @Override public void save(User user) throws Exception { user.setState(0);//0表示未激活 String code = UUIDUtils.getUUID().replace("-","")+ UUIDUtils.getUUID().replace("-",""); user.setCode(code); userDao.save(user); //发送激活码 MailUtils.sendMail(user.getEmail(),code); } }
以上是关于[Utils]JavaMail制作与使用的主要内容,如果未能解决你的问题,请参考以下文章