标签:javax.mail
废话不多说直接上代码
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; /** * 邮件发送工具类 * @author yuanhai * */ public class MailUitls { /** * 发送邮件的方法 * @param to :收件人 * @param code :激活码 */ public static void sendMail(String to,String code){ /** * 1.获得一个Session对象. * 2.创建一个代表邮件的对象Message. * 3.发送邮件Transport */ // 1.获得连接对象 // 配置发送邮件的环境属性 /* * 可用的属性: mail.store.protocol / mail.transport.protocol / mail.host / * mail.user / mail.from */ final Properties props = new Properties(); // 表示SMTP发送邮件,需要进行身份验证 props.put("mail.smtp.auth", "true"); props.put("mail.smtp.host", "smtp.126.com"); // 发件人的账号 props.put("mail.user", "jethai@126.com"); // 访问SMTP服务时需要提供的密码 props.put("mail.password", "xxxxxxx"); // 使用环境属性和授权信息,创建邮件会话 // 构建授权信息,用于进行SMTP进行身份验证 Session session = Session.getInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(props.getProperty("mail.user"),props.getProperty("mail.password")); } }); // 2.创建邮件对象: Message message = new MimeMessage(session); // 设置发件人: try { message.setFrom(new InternetAddress("jethai@126.com")); // 设置收件人: message.addRecipient(RecipientType.TO, new InternetAddress(to)); // 抄送 CC 密送BCC RecipientType.CC 其他的收件人不能看到密送的邮件地址 // 设置标题 message.setSubject("来自购物天堂传智商城官方激活邮件"); // 设置邮件正文: message.setContent("<h1>购物天堂传智商城官方激活邮件!点下面链接完成激活操作!</h1><h3><a href=‘http://localhost:8080/shop/user_active.action?code="+code+"‘>http://192.168.36.103:8080/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("jethai@126.com","11111111111111"); } }
props.put("mail.password", "xxxxxxx")中的xxxxxxx表示发送邮箱邮件密码。
错误: java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
原因:javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入
解决方法:用Java EE 6 Libraries替换javaEE5
参考博文:
http://www.cnblogs.com/xiandedanteng/p/4132201.html
http://blog.163.com/java_star/blog/static/11771480520136511023957/
本文出自 “一无所有-天行者” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1662315
标签:javax.mail
原文地址:http://tianxingzhe.blog.51cto.com/3390077/1662315