直接上代码

配置QQ邮箱的IMAP

进入qq电子邮件点击 设置->账户里开启 SMTP 服务(开启IMAP/SMTP服务) 注意:在启用QQ邮箱的14天之后才能开启此服务

创建Sendmail 类 

导入这两个jar :

public class Sendmail {
private static final Log logger = LogFactory.getLog(Sendmail.class);

public static Map<String,Object> sendTextMail(String strMail, String strTitle, String strText){
Map<String,Object> map = new HashMap<String, Object>();
String sends=null;
Properties prop = new Properties();
// 开启debug调试,以便在控制台查看
prop.setProperty("mail.debug", "true"); 
// 设置邮件服务器主机名
prop.setProperty("mail.host", "smtp.qq.com");
// 发送服务器需要身份验证
prop.setProperty("mail.smtp.auth", "true");
// 发送邮件协议名称
prop.setProperty("mail.transport.protocol", "smtp");

// 开启SSL加密,否则会失败
try {
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable", "true");
prop.put("mail.smtp.ssl.socketFactory", sf);

// 创建session
Session session = Session.getInstance(prop);
// 通过session得到transport对象
Transport ts = session.getTransport();
// 连接邮件服务器:邮箱类型,帐号,授权码代替密码(更安全)
ts.connect("smtp.qq.com","****", "mddbpoilzjhidcjh");//后面的字符是授权码
// 创建邮件
MimeMessage message = new MimeMessage(session);
// 指明邮件的发件人
message.setFrom(new InternetAddress("*****@qq.com"));
// 指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
message.setRecipient(Message.RecipientType.TO, new InternetAddress(strMail));
// 邮件的标题
message.setSubject(strTitle);
// 邮件的文本内容
message.setContent("<font style='color:red'>"+strText+"</font>", "text/html;charset=UTF-8");
// 发送邮件
ts.sendMessage(message, message.getAllRecipients());
ts.close();
} catch (Exception e) {
logger.error("发送邮件异常");
return (Map<String, Object>) map.put(sends, "发送邮件异常");
}

return (Map<String, Object>) map.put(sends, "发送邮件成功");
}

/* public static void main(String[] args) {
try {
Sendmail.sendTextMail("****@163.com","日志容量告警","测试邮件发送");
} catch (Exception e) {
// TODO: handle exception
}

}*/
}

代码调用工具类的方法为:

try {

//发送人的邮箱,   邮件标题,邮件内容
Sendmail.sendTextMail("***@163.com","日志容量告警","终于解决了");
} catch (Exception e) {
e.printStackTrace();
}

最新文章

  1. js 单例模式笔记
  2. Sql Server中Float格式转换字符串varchar方法(转)
  3. php中数组遍历改值
  4. HDU2096 小明A+B
  5. jQuery 简单归纳总结
  6. Spring4.0学习笔记(11) —— Spring AspectJ 的五种通知
  7. SQL Server验证的两种方式
  8. 【Maven】运行项目,报ClassNotFound错误
  9. 14.4.3.5 Configuring InnoDB Buffer Pool Flushing 配置InnoDB Buffer Pool 刷新:
  10. 键盘控制div上下左右移动 (转)
  11. MVC学习笔记3 - JsRender
  12. 数据库之Oracle——初级
  13. Div+Css画太极图源代码
  14. MongoDB在Linux下常用优化设置
  15. MySQL计算年龄
  16. js 正则表达式的使用(标志 RegExp exec() test() compile() $1...$9)
  17. ES6 模板字面量
  18. ssl证书安装到iis服务器
  19. mysql案例 ~ 主从复制延迟处理(3)
  20. androidpn 推送系统

热门文章

  1. MySQL中建立Oracle中SCOTT数据示例
  2. Machine Learning in Finance – Present and Future Applications
  3. USACO Grass Planting
  4. linux帮助命令使用
  5. sed和awk练习及知识点
  6. [LeetCode] 179. Largest Number 最大组合数
  7. RHEL8/CentOS8的基础防火墙配置-用例
  8. Python 脚本如何执行另一个脚本
  9. TPM(ThinkPHPMobile)使用简明教程
  10. windows10安装ubuntu双系统教程(初稿)