最近在做一个Java发送邮件的工具类,现在分享一下完整的代码 
首先需要java邮件的包javax.mail-1.5.4.jar 
之前因为链接给错了,很不好意思,现在重新发一次。 
包在这里可以下载http://download.csdn.net/detail/sun2015_07_24/9392090

第一步:邮箱需要开通POP3/SMTP等服务

第二步:设置授权码,代码中所写的密码不是邮箱密码是授权码

 package com.jspxcms.common.util;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties; import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage; /**
* 邮件发送工具类
*/
public class SendMailUtil { /**
* 邮件发送的方法
*
* @param to 收件人
* @param subject 主题
* @param content 内容
* @param smtp 协议
* @param host 发送服务器服务器
* @param sendName 邮件发送人
* @param sendPort 邮件发送人端口
* @param userName 邮件发送人名
* @param userPwd 邮件发送人密码 自己测试时用的是授权码不是密码
* @return 成功或失败
*/
public static boolean send(String to, String subject, String content, String smtp, String host,
String sendName, String sendPort, String userName, String userPwd) { // 第一步:创建Session
Properties props = new Properties();
// 指定邮件的传输协议,smtp(Simple Mail Transfer Protocol 简单的邮件传输协议)
props.put("mail.transport.protocol", smtp);
// 指定邮件发送服务器服务器 "smtp.qq.com"
props.put("mail.host", host);
// 指定邮件的发送人(您用来发送邮件的服务器,比如您的163\sina等邮箱)
props.put("mail.from", sendName);
if (true) {
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.socketFactory.port", sendPort);
}
Session session = Session.getDefaultInstance(props); // 开启调试模式
session.setDebug(true);
try {
// 第二步:获取邮件发送对象
Transport transport = session.getTransport();
// 连接邮件服务器,链接您的163、sina邮箱,用户名(不带@163.com,登录邮箱的邮箱账号,不是邮箱地址)、密码
transport.connect(userName, userPwd);
Address toAddress = new InternetAddress(to); // 第三步:创建邮件消息体
MimeMessage message = new MimeMessage(session);
//设置自定义发件人昵称
String nick="";
try {
nick=javax.mail.internet.MimeUtility.encodeText("我的昵称");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
message.setFrom(new InternetAddress(nick+" <"+sendName+">"));
//设置发信人
// message.setFrom(new InternetAddress(sendName)); // 邮件的主题
message.setSubject(subject);
//收件人
message.addRecipient(Message.RecipientType.TO, toAddress);
/*//抄送人
Address ccAddress = new InternetAddress("first.lady@whitehouse.gov");
message.addRecipient(Message.RecipientType.CC, ccAddress);*/
// 邮件的内容
message.setContent(content, "text/html;charset=utf-8");
// 邮件发送时间
message.setSentDate(new Date()); // 第四步:发送邮件
// 第一个参数:邮件的消息体
// 第二个参数:邮件的接收人,多个接收人用逗号隔开(test1@163.com,test2@sina.com)
transport.sendMessage(message, InternetAddress.parse(to));
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
} public static void main(String[] args) {
// 您要发送给谁,标题,内容
//SendMailUtil.send("*****@qq.com", "标题", "内容", "smtp", "smtp.qq.com", "发送人邮箱", "端口号", "邮箱用户名", "邮箱密码");
SendMailUtil.send("*********@qq.com", "标题", "内容", "smtp", "smtp.163.com",
"181467089**@163.com", "", "181467089**", "**123456");
} }

最新文章

  1. Apache InterfaceAudience
  2. 微软“One Windows”的梦想已经破灭了吗?
  3. HDU 5821 Ball (贪心排序) -2016杭电多校联合第8场
  4. Delphi的DateToStr StrToDate格式灵活用法
  5. poj 2449(A*求第K短路)
  6. [置顶] 【cocos2d-x入门实战】微信飞机大战之十二:分数的本地存储
  7. JS行合并处理方法
  8. openstack私有云布署实践【17 配置文件部份说明】
  9. HTML5的Websocket(理论篇 I)
  10. struts2的配置文件
  11. 洛谷P5284 [十二省联考2019]字符串问题 [后缀树]
  12. 【BZOJ5194】Snow Boots
  13. Windows重启显卡驱动热键说明
  14. maven 基础
  15. 如何用nginx在本地把9000端口转发到80端口上
  16. Python中的and/or
  17. C# linq to xml 简单示例
  18. Django templates and models
  19. Vue SPA应用中使用Layer的iframe 弹出层,并且传值
  20. CSS换行:word-wrap、word-break和text-wrap差别

热门文章

  1. AVL树 - 学习笔记
  2. Java常用的几种线程池
  3. Asp.Net MVC 缓存设计
  4. hduacm集训单人排位赛1002
  5. poj1228稳定凸包
  6. day31 堡垒机尾声 + Python与金融量化分析(一)
  7. IHTMLDocument2 TO IWebBrowser2
  8. 初次使用Bootstrap
  9. Winform开发中另一种样式的OutLookBar工具条
  10. UML_03_类图