在服务挂掉后,可以采用发送邮件的方式来通知开发人员进行异常处理

  1. import java.io.IOException;
  2. import java.util.Properties;
  3. import javax.mail.BodyPart;
  4. import javax.mail.Message;
  5. import javax.mail.Multipart;
  6. import javax.mail.Session;
  7. import javax.mail.Transport;
  8. import javax.mail.internet.InternetAddress;
  9. import javax.mail.internet.MimeBodyPart;
  10. import javax.mail.internet.MimeMessage;
  11. import javax.mail.internet.MimeMultipart;
  12.  
  13. public class SendMailUtil {
  14.  
  15. static String HOST = "smtp.163.com"; // smtp服务器
  16. static String FROM = "xxx@163.com"; // 发件人地址
  17. static String USER = "xxx@163.com"; // 用户名
  18. static String PWD = "key123456"; // 163的授权码
  19. static String SUBJECT = "手表服务抛异常了"; // 邮件标题
  20. static String[] TOS = new String[]{"18888888888@163.com"};
  21.  
  22. /**
  23. * 发送邮件
  24. * @param host
  25. * @param user
  26. * @param pwd
  27. */
  28. public static void send(String context) {
  29. Properties props = new Properties();
  30. props.put("mail.smtp.host", HOST);//设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)
  31. props.put("mail.smtp.auth", "true"); //需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)
  32. Session session = Session.getDefaultInstance(props);//用props对象构建一个session
  33. session.setDebug(true);
  34. MimeMessage message = new MimeMessage(session);//用session为参数定义消息对象
  35. try {
  36. message.setFrom(new InternetAddress(FROM));// 加载发件人地址
  37. InternetAddress[] sendTo = new InternetAddress[TOS.length]; // 加载收件人地址
  38. for (int i = ; i < TOS.length; i++) {
  39. sendTo[i] = new InternetAddress(TOS[i]);
  40. }
  41. message.addRecipients(Message.RecipientType.TO,sendTo);
  42. message.addRecipients(MimeMessage.RecipientType.CC, InternetAddress.parse(FROM));//设置在发送给收信人之前给自己(发送方)抄送一份,不然会被当成垃圾邮件,报554错
  43. message.setSubject(SUBJECT);//加载标题
  44. Multipart multipart = new MimeMultipart();//向multipart对象中添加邮件的各个部分内容,包括文本内容和附件
  45. BodyPart contentPart = new MimeBodyPart();//设置邮件的文本内容
  46. contentPart.setText(context);
  47. multipart.addBodyPart(contentPart);
  48. message.setContent(multipart);//将multipart对象放到message中
  49. message.saveChanges(); //保存邮件
  50. Transport transport = session.getTransport("smtp");//发送邮件
  51. transport.connect(HOST, USER, PWD);//连接服务器的邮箱
  52. transport.sendMessage(message, message.getAllRecipients());//把邮件发送出去
  53. transport.close();//关闭连接
  54. } catch (Exception e) {
  55. e.printStackTrace();
  56. }
  57. }
  58.  
  59. public static void main(String[] args) {
  60. send("mongo连接池出异常了!!!!!");
  61. }
  62.  
  63. }

java发送163邮件的更多相关文章

  1. flask 电子邮件进阶实践-用模板发送163邮件

    电子邮件进阶实践 下面来学习构建邮件的HTML正文,并使用模板组织内容. 一封电子邮件的正文可以是纯文本(text/plain),也可以是HTML格式的文本(text/html).处于全面的考虑,一封 ...

  2. flask_mail发送163邮件,报553错误的原因

    最近在练习用flask_mail发送163邮件时报错: reply: '553 authentication is required,163 smtp9,DcCowAD3eEQZ561caRiaBA- ...

  3. java mail Received fatal alert: handshake_failure java 无法发送邮件问题 java 发送qq邮件(含源码)

     java 无法发送邮件问题 java 发送qq邮件 报错:java mail Received fatal alert: handshake_failure (使用ssl) javax.mail.M ...

  4. 使用python发送163邮件 qq邮箱

    使用python发送163邮件 def send_email(title, content): import smtplib from email.mime.multipart import MIME ...

  5. 【工具】java发送验证码邮件

    文章目录 前言 配置邮箱服务器 代码实现 发送随机验证码与验证 后记 前言 要实现 可以设置格式,附件,抄送等功能,就跟真人操控邮箱发送邮件一样的功能,或许比较难,博主没研究,博主暂时没用到那些功能, ...

  6. Java发送QQ邮件

    面试的时候被问到这个问题,别人问我用Java发过邮件没有,被问得一脸懵逼.然后就研究了一下,不是很难,按照网上的方法折腾了几天就搞出来了. 首先,使用QQ邮箱发送邮件之前需要在邮箱里面配置,开启pop ...

  7. 用java发送email邮件例子

    package com.hzk.mail; import java.net.MalformedURLException; import java.net.URL; import java.text.S ...

  8. Java发送Email邮件及SpringBoot集成

    一:普通方式发送 1.导包 <!--Java MAil 发送邮件API--> <dependency> <groupId>javax.mail</groupI ...

  9. 使用java发送QQ邮件

    使用java发送邮件的时候,需要先下载两个jar包,连接如下: JavaMail mail.jar 1.4.5 JAF(版本 1.1.1) activation.jar 然后将这连个包导入,博主用的是 ...

随机推荐

  1. 总结下Mysql分表分库的策略及应用

    上月前面试某公司,对于mysql分表的思路,当时简要的说了下hash算法分表,以及discuz分表的思路,但是对于新增数据自增id存放的设计思想回答的不是很好(笔试+面试整个过程算是OK过了,因与个人 ...

  2. 谈谈MySQL优化原理

    说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原 ...

  3. 解决mysql服务无法启动的问题

    今天,mysql突然无法启动了. 解决办法记录一下: 1.删除data文件 我的:C:\Program Files\MySQL\MySQL Server 5.7\data 注意:这个文件可能在你一直试 ...

  4. 深入理解SpringCloud与微服务构建

    旭日Follow_24 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/xuri24/article/details/81742534 目录 一.SpringClou ...

  5. javascript模块化编程-立即执行函数(IIFE)

    IIFE 全拼Imdiately Invoked Function Expression,立即执行的函数表达式. 语法 var module1 = (function(){ var _count = ...

  6. mapper加载的3种方法

    <!-- mapper加载有3种方法: 1:通过resource或url加载单个mapper 2:通过mapper接口类名加载单个mapper 3:通过package批量加载多个mapper(推 ...

  7. 事件处理程序(HTML)

    HTML事件处理程序 通过设置HTML标签特性来绑定事件处理程序. 处理方式(如图): 1:会创建一个封装元素属性值的函数 2:会在这个函数中创建一个event事件对象 <form> &l ...

  8. angular select 默认值

    <select ng-model="selected" ng-options="x.id as x.name for x in users">< ...

  9. 向后台提交数据:cookie,secure_cookie,

    向后台提交数据除了前端url,form表单,Ajax外还可以用cookie,secure_cookie,提交更多信息可以在用cookie基础上用session, cookie,secure_cooki ...

  10. POJ1743 Musical Theme(后缀数组 二分)

    Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 33462   Accepted: 11124 Description A m ...