1.spring参数注入+util 发送邮件

2.util配置参数+util发送邮件

1.spring参数注入+util 发送邮件

  1. <bean id="mailSender" class="com.midea.ftms.util.MailSender">
  2. <property name="host" value="${mail.smtp.host}"></property>
  3. <property name="auth" value="${mail.smtp.auth}"></property>
  4. <property name="user" value="${mail.user}"></property>
  5. <property name="password" value="${mail.passwd}"></property>
  6. <property name="from" value="${mail.from}"></property>
  7. <property name="remindNum" value="${mail.remindnum}"></property>
  8. <property name="debugModel" value="${mail.debug}"></property>
  9. </bean>
  1. import java.util.Properties;
  2.  
  3. import javax.mail.Message;
  4. import javax.mail.Session;
  5. import javax.mail.Transport;
  6. import javax.mail.internet.InternetAddress;
  7. import javax.mail.internet.MimeMessage;
  8.  
  9. public class MailSender {
  10.  
  11. private String host;
  12. private String auth;
  13. private String user;
  14. private String password;
  15. private String from;
  16. private Integer remindNum;
  17. private Boolean debugModel;
  18.  
  19. public MailSender() {
  20.  
  21. }
  22.  
  23. /**
  24. * @see 发送邮件基础方法,请遵循使用规则 MailUtil.sendMail
  25. * @param to 邮件接收地址
  26. * @param subject 邮件主题
  27. * @param content 邮件内容
  28. * @throws Exception 调用者处理异常
  29. */
  30. public void send(String[] to, String subject, String content)
  31. throws Exception {
  32. Properties props = new Properties();
  33. // 指定SMTP服务器
  34. props.put("mail.smtp.host", host);
  35. // 指定是否需要SMTP验证
  36. props.put("mail.smtp.auth", auth);
  37. Session mailSession = Session.getDefaultInstance(props);
  38. // 是否在控制台显示debug信息
  39. mailSession.setDebug(debugModel);
  40. Message message = new MimeMessage(mailSession);
  41. // 发件人
  42. message.setFrom(new InternetAddress(from));
  43. // 收件人
  44. InternetAddress[] addresses = new InternetAddress[to.length];
  45. for (int i = ; i < to.length; i++) {
  46. addresses[i] = new InternetAddress(to[i]);
  47. }
  48. message.setRecipients(Message.RecipientType.TO, addresses);
  49. // 邮件主题
  50. message.setSubject("subject:"+subject);
  51. // 邮件内容(HTML格式)
  52. message.setContent(content, "text/html;charset=GBK");
  53. // 保存设置,让设置生效
  54. message.saveChanges();
  55. // 发送
  56. Transport transport = mailSession.getTransport("smtp");
  57. transport.connect(host, user, password);
  58. transport.sendMessage(message, message.getAllRecipients());
  59. transport.close();
  60. }
  61.  
  62. public String getHost() {
  63. return host;
  64. }
  65.  
  66. public void setHost(String host) {
  67. this.host = host;
  68. }
  69.  
  70. public String getAuth() {
  71. return auth;
  72. }
  73.  
  74. public void setAuth(String auth) {
  75. this.auth = auth;
  76. }
  77.  
  78. public String getUser() {
  79. return user;
  80. }
  81.  
  82. public void setUser(String user) {
  83. this.user = user;
  84. }
  85.  
  86. public String getPassword() {
  87. return password;
  88. }
  89.  
  90. public void setPassword(String password) {
  91. this.password = password;
  92. }
  93.  
  94. public String getFrom() {
  95. return from;
  96. }
  97.  
  98. public void setFrom(String from) {
  99. this.from = from;
  100. }
  101.  
  102. public Integer getRemindNum() {
  103. return remindNum;
  104. }
  105.  
  106. public void setRemindNum(Integer remindNum) {
  107. this.remindNum = remindNum;
  108. }
  109.  
  110. public Boolean getDebugModel() {
  111. return debugModel;
  112. }
  113.  
  114. public void setDebugModel(Boolean debugModel) {
  115. this.debugModel = debugModel;
  116. }
  117.  
  118. }
  1. public class MailUtil {
  2.  
  3. private static volatile MailSender mailSender;
  4.  
  5. private MailUtil() {
  6.  
  7. }
  8.  
  9. public static MailSender init() {
  10. if (mailSender == null) {
  11. synchronized (MailSender.class) {
  12. if (mailSender == null) {
  13. // mailSender = new MailSender();
  14. mailSender = (MailSender)ContextUtil.getContext().getBean("mailSender");
  15. }
  16. }
  17. }
  18. return mailSender;
  19. }
  20.  
  21. public static void sendMail(String[] to, String subject, String content)
  22. throws Exception {
  23. MailUtil.init().send(to, subject, content);
  24. }
  25.  
  26. public static void main(String[] args) {
  27. MailUtil.init().setAuth("true");
  28. MailUtil.init().setDebugModel(true);
  29. MailUtil.init().setFrom("a@b.com");
  30. MailUtil.init().setHost("cd.com.cn");
  31. MailUtil.init().setUser("user");
  32. MailUtil.init().setPassword("passwd");
  33. MailUtil.init().setRemindNum();
  34. try {
  35. MailUtil.sendMail(new String[]{"asdfa@qq.com","134324323@qq.com"}, "测试", "hello yoyo");
  36. } catch (Exception e) {
  37. e.printStackTrace();
  38. }
  39. }
  40.  
  41. }

2.util配置参数+util发送邮件

  1. import java.util.Properties;
  2.  
  3. import javax.mail.Message;
  4. import javax.mail.Session;
  5. import javax.mail.Transport;
  6. import javax.mail.internet.InternetAddress;
  7. import javax.mail.internet.MimeMessage;
  8.  
  9. public class MailSendUtil {
  10.  
  11. private String host;
  12. private String auth;
  13. private String user;
  14. private String password;
  15. private String from;
  16. private Integer remindNum;
  17. private Boolean debugModel;
  18.  
  19. private volatile static MailSendUtil mailSendUtil;
  20.  
  21. private MailSendUtil(){
  22. init();
  23. }
  24.  
  25. private void init() {
  26. host = PropertiesUtil.getProperty("mail.smtp.host");
  27. auth = PropertiesUtil.getProperty("mail.smtp.auth");
  28. user = PropertiesUtil.getProperty("mail.user");
  29. password = PropertiesUtil.getProperty("mail.passwd");
  30. from = PropertiesUtil.getProperty("mail.from");
  31. remindNum = Integer.parseInt(PropertiesUtil.getProperty("mail.remindnum"));
  32. debugModel = Boolean.valueOf(PropertiesUtil.getProperty("mail.debug"));
  33. }
  34.  
  35. public static MailSendUtil getInstance() {
  36. if (mailSendUtil == null) {
  37. synchronized (MailSendUtil.class) {
  38. if (mailSendUtil == null) {
  39. return new MailSendUtil();
  40. }
  41. }
  42. }
  43. return mailSendUtil;
  44. }
  45.  
  46. public static void sendMail(String[] to, String subject, String content)
  47. throws Exception {
  48. MailSendUtil.getInstance().send(to, subject, content);
  49. }
  50.  
  51. /**
  52. * @see 发送邮件基础方法,请遵循使用规则 MailUtil.sendMail
  53. * @param to 邮件接收地址
  54. * @param subject 邮件主题
  55. * @param content 邮件内容
  56. * @throws Exception 调用者处理异常
  57. */
  58. public void send(String[] to, String subject, String content)
  59. throws Exception {
  60. Properties props = new Properties();
  61. // 指定SMTP服务器
  62. props.put("mail.smtp.host", host);
  63. // 指定是否需要SMTP验证
  64. props.put("mail.smtp.auth", auth);
  65. Session mailSession = Session.getDefaultInstance(props);
  66. // 是否在控制台显示debug信息
  67. mailSession.setDebug(debugModel);
  68. Message message = new MimeMessage(mailSession);
  69. // 发件人
  70. message.setFrom(new InternetAddress(from));
  71. // 收件人
  72. InternetAddress[] addresses = new InternetAddress[to.length];
  73. for (int i = ; i < to.length; i++) {
  74. addresses[i] = new InternetAddress(to[i]);
  75. }
  76. message.setRecipients(Message.RecipientType.TO, addresses);
  77. // 邮件主题
  78. message.setSubject("subject:"+subject);
  79. // 邮件内容(HTML格式)
  80. message.setContent(content, "text/html;charset=GBK");
  81. // 保存设置,让设置生效
  82. message.saveChanges();
  83. // 发送
  84. Transport transport = mailSession.getTransport("smtp");
  85. transport.connect(host, user, password);
  86. transport.sendMessage(message, message.getAllRecipients());
  87. transport.close();
  88. }
  89.  
  90. }

3.遇到发送邮件正常,但是没有主题,也没有收件人的情况,请删除 geronimo-javamail_1.4_spec-1.2.jar

mail.jar 发送邮件的更多相关文章

  1. Java使用javax.mail.jar发送邮件并同意发送附件

    因为Java在开发网页上占有绝大优势.所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必定,网络安全一再安全我们须要把账号的安全级别提到更高.因此这些对于开发者也就成了必须掌握的技能!我一 ...

  2. java mail jar冲突

    开发环境:jdk1.6.0_25     MyEclipse-8.6     J2EE5   程序编译通过,J2EE5的库里面已经含有javaee.jar文件.里面的javax.mail包下面是jav ...

  3. java Mail如何发送邮件

    1.应用场景:在系统需要发送与用户相关的消息时,而用户不在线,可以采取发送邮件的方式,使用户了解最新的系统情况 或者发送验证码等验证场景 2.实验环境 主要使用mail.jar和activation. ...

  4. Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类

    准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://www.cnblogs.com/pojo/p/14276637.html ...

  5. Java 使用 mail.jar 实现邮件发送

    目录 准备工作 使用到的 jar 包 实现代码 准备工作 要想实现邮件发送, 需要先打开发送邮箱的 POP3/SMTP 服务,打开方式在 设置>帐户 中去打开,打开之后如果是qq邮箱会获得一个授 ...

  6. Linux下使用mail命令发送邮件

    因为需要经常备份网站的数据,所以了解并学习了下linux下如何通过shell来发送邮件,这里以CentOS为例,使用mail命令来进行外部邮件的发送.mail命令的语法如下: Usage: mail ...

  7. 用linux mail命令发送邮件[Linux]

    mail [-s 邮件标题] <<邮件地址1> [邮件地址2] [邮件地址3]> [ < 包含邮件内容的文件路径 ] <-- -f 发送邮件地址> [-F 显 ...

  8. 浏览器访问php脚本通过sendmail用mail函数发送邮件

    前几天做项目遇到这样的一个问题:当某一个结点下有新的文章发表的时候,以邮件的形式通知该结点下的所有用户.这就需要用到邮件发送的功能. 因为项目是php语言做的,所以最简单的方法就是使用php自带的函数 ...

  9. Ubuntu下使用mail命令发送邮件

    Ubuntu下使用mail命令发送邮件 mail命令在Ubuntu下是需要安装的,使用下条命令进行安装: sudo apt-get install heirloom-mailx 接下来输入用户密码,等 ...

随机推荐

  1. Python自学:第二章 删除空白

    lstrip:剔除开头空白 strip:剔除两段空白 rstrip:剔除末尾空白 favorite: 最喜欢的 >>>favorite_language = "Python ...

  2. Confluence 6 应该如何在我的空间中组织内容

    页面和博客 你在 Confluence 中创建的任何内容,从会议记录到回顾和任何中间的内容,不管来源是博客和页面. 你的主页将是任何访问你网站中的用户首先看到的内容.为了让用户更加容易的找到他们需要查 ...

  3. 【洛谷p1601】A+B Problem(高精)

    高精度加法的思路还是很简单容易理解的 A+B Problem(高精)[传送门] 洛谷算法标签: 附上代码(最近懒得一批) #include<iostream> #include<cs ...

  4. python基础之字符串以及切片等操作

    1.字符类型 1.整型 int  2. str 字符串 3.bool 布尔值 4.list 表格,常用于大量数据的存储 用[ ]表示  5.tuple 元祖 ,不能发生改变()表示  6.dict 字 ...

  5. Lowest Common Ancestor of a Binary Search Tree(Java 递归与非递归)

    题目描述: Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in ...

  6. git分支重命名

    git branch - m old_name new_name

  7. 『计算机视觉』Mask-RCNN_推断网络其四:FPN和ROIAlign的耦合

    一.模块概述 上节的最后,我们进行了如下操作获取了有限的proposal, # [IMAGES_PER_GPU, num_rois, (y1, x1, y2, x2)] # IMAGES_PER_GP ...

  8. python 小练习3

    求大蜜题:给你两个正整数a(0 < a < 100000)和n(0 <= n <=100000000000),计算(a^n) % 20132013并输出结果 ret = 1 d ...

  9. 局域网两台机器ping超时

    在防火墙的高级设置中的入站规则里,找icmpv4 ,我的两条电脑都是无线连的,看你的无线是专用还是公用,开启对应的规则. windows默认是关闭的,我的系统前些天刚重置过,ping超时,还是要手动开 ...

  10. GetMapping 和 PostMapping最大的差别(转)

    原文地址:GetMapping 和 PostMapping  Spring4.3中引进了{@GetMapping.@PostMapping.@PutMapping.@DeleteMapping.@Pa ...