你的位置:首页 > Java教程

[Java教程][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("service@xxx.com"));		//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);  }}