需要用到的jar包:javax.mail.jar

  1. package com.lee.util;
  2.  
  3. import java.io.UnsupportedEncodingException;
  4. import java.util.Date;
  5. import java.util.Properties;
  6.  
  7. import javax.mail.Address;
  8. import javax.mail.Message;
  9. import javax.mail.Session;
  10. import javax.mail.Transport;
  11. import javax.mail.internet.InternetAddress;
  12. import javax.mail.internet.MimeMessage;
  13.  
  14. import org.springframework.stereotype.Component;
  15.  
  16. /**
  17. * 邮件发送工具类
  18. */
  19. @Component
  20. public class SendMailUtil {
  21.  
  22. /**
  23. * 邮件发送的方法
  24. *
  25. * @param to 收件人
  26. * @param subject 主题
  27. * @param content 内容
  28. * @param smtp 协议
  29. * @param host 发送服务器服务器
  30. * @param sendName 邮件发送人
  31. * @param sendPort 邮件发送人端口
  32. * @param userName 邮件发送人名
  33. * @param userPwd 邮件发送人密码 自己测试时用的是授权码不是密码
  34. * @return 成功或失败
  35. */
  36. public static boolean send(String to, String subject, String content, String smtp, String host,
  37. String sendName, String sendPort, String userName, String userPwd) {
  38.  
  39. // 第一步:创建Session
  40. Properties props = new Properties();
  41. // 指定邮件的传输协议,smtp(Simple Mail Transfer Protocol 简单的邮件传输协议)
  42. props.put("mail.transport.protocol", smtp);
  43. // 指定邮件发送服务器服务器 "smtp.qq.com"
  44. props.put("mail.host", host);
  45. // 指定邮件的发送人(您用来发送邮件的服务器,比如您的163\sina等邮箱)
  46. props.put("mail.from", sendName);
  47. if (true) {
  48. props.put("mail.smtp.starttls.enable", "true");
  49. props.put("mail.smtp.socketFactory.fallback", "false");
  50. props.put("mail.smtp.socketFactory.port", sendPort);
  51. }
  52. Session session = Session.getDefaultInstance(props);
  53.  
  54. // 开启调试模式
  55. session.setDebug(true);
  56. try {
  57. // 第二步:获取邮件发送对象
  58. Transport transport = session.getTransport();
  59. // 连接邮件服务器,链接您的163、sina邮箱,用户名(不带@163.com,登录邮箱的邮箱账号,不是邮箱地址)、密码
  60. transport.connect(userName, userPwd);
  61. Address toAddress = new InternetAddress(to);
  62.  
  63. // 第三步:创建邮件消息体
  64. MimeMessage message = new MimeMessage(session);
  65. //设置自定义发件人昵称
  66. String nick="";
  67. try {
  68. nick=javax.mail.internet.MimeUtility.encodeText("我的昵称");
  69. } catch (UnsupportedEncodingException e) {
  70. e.printStackTrace();
  71. }
  72. message.setFrom(new InternetAddress(nick+" <"+sendName+">"));
  73. //设置发信人
  74. // message.setFrom(new InternetAddress(sendName));
  75.  
  76. // 邮件的主题
  77. message.setSubject(subject);
  78. //收件人
  79. message.addRecipient(Message.RecipientType.TO, toAddress);
  80. /*//抄送人
  81. Address ccAddress = new InternetAddress("first.lady@whitehouse.gov");
  82. message.addRecipient(Message.RecipientType.CC, ccAddress);*/
  83. // 邮件的内容
  84. message.setContent(content, "text/html;charset=utf-8");
  85. // 邮件发送时间
  86. message.setSentDate(new Date());
  87.  
  88. // 第四步:发送邮件
  89. // 第一个参数:邮件的消息体
  90. // 第二个参数:邮件的接收人,多个接收人用逗号隔开(test1@163.com,test2@sina.com)
  91. transport.sendMessage(message, InternetAddress.parse(to));
  92. return true;
  93. } catch (Exception e) {
  94. e.printStackTrace();
  95. }
  96. return false;
  97. }
  98.  
  99. public static void main(String[] args) {
  100. // 您要发送给谁,标题,内容
  101. //SendMailUtil.send("*****@qq.com", "标题", "内容", "smtp", "smtp.qq.com", "发送人邮箱", "端口号", "邮箱用户名", "邮箱密码");
  102. SendMailUtil.send("*********@qq.com", "标题", "内容", "smtp", "smtp.163.com",
  103. "181467089**@163.com", "", "181467089**", "**123456");
  104. }
  105.  
  106. }

需要设置 发送的邮箱

请登录邮箱,点击页面右上角的“设置”—在“高级”下,点“POP3/SMTP/IMAP”,勾选图中两个选项,点击确定。即可开启成功。

JavaUtil smtp 邮件发送的更多相关文章

  1. python学习笔记(SMTP邮件发送:带附件)

    博主有段时间没有更新博客了 先整理一个之前整理过的SMTP邮件发送,这次是带附件的功能 #!/usr/bin/env python # -*- coding: utf_8 -*- from email ...

  2. pyqt5实现SMTP邮件发送

    # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'SMTP.ui' # # Created b ...

  3. python学习笔记(SMTP邮件发送)

    想着给框架添加邮件发送功能.所以整理下python下邮件发送功能 首先python是支持邮件的发送.内置smtp库.支持发送纯文本.HTML及添加附件的邮件 之后是邮箱.像163.qq.新浪等邮箱默认 ...

  4. python SMTP邮件发送(转载)

    Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...

  5. C# SMTP邮件发送 分类: C# 2014-07-13 19:10 334人阅读 评论(1) 收藏

    邮件发送在网站应用程序中经常会用到,包括您现在看到的博客,在添加评论后,系统会自动发送邮件通知到我邮箱的,把系统发送邮件的功能整理了下,做了一个客户端Demo,希望对有需要的童鞋有所帮助: 核心代码: ...

  6. C# SMTP邮件发送 分类: C# 2014-07-13 19:10 333人阅读 评论(1) 收藏

    邮件发送在网站应用程序中经常会用到,包括您现在看到的博客,在添加评论后,系统会自动发送邮件通知到我邮箱的,把系统发送邮件的功能整理了下,做了一个客户端Demo,希望对有需要的童鞋有所帮助: 核心代码: ...

  7. java实现smtp邮件发送

    一.准备工作 首先你需要已一个发送邮箱,一般的邮箱都有SMTP.POP3服务,比如QQ邮箱,登陆QQ邮箱开启SMTP服务,开启是服务器会提示你设置独立密码,这个密码是跟邮箱正常登陆的密码不同的,这个是 ...

  8. Python SMTP邮件发送

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块: email负责构造邮件 ...

  9. C# SMTP 邮件发送之QQ邮箱篇

    邮件发送大家都已经非常熟悉了,微软自带的System.Net.Mail也很好用,那为什么还要说呢? QQ邮箱的SMTP以前是非SSL,用未加密的25端口,后来发送都改成SSL了,端口为465或587( ...

随机推荐

  1. 【1】vue/cli 3.0 脚手架 及cube-ui 安装

    安装 Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+).你可以使用 nvm 或 nvm-windows在同一台电脑中管理多个 Node 版本. 检查node版本: $ ...

  2. 实现并发join的方法

    import threadingimport time def music(): print("begin to listen %s" %time.ctime()) time.sl ...

  3. 如何在CentOS 7中安装最新Git(源码安装)

    如何在CentOS 7中安装最新Git 2017年05月20日 11:49:53 阅读数:1624 Git是在今天的软件开发行业一个非常有用的版本控制工具.我一直使用Git.于是为Linux公社的读者 ...

  4. redhat vim编辑器永久添加行号及搜索

    设置行号: 跳转到home $ cd ~ 编辑.vimrc,没有的话自动创建 $ vim .vimrc 第一行加入: set nu :wq 保存退出,即可 如果想取消设置,同理删除set nu即可 v ...

  5. soapUI学习文档(转载)

    soapUI 学习文档不是前言的前言记得一个搞开发的同事突然跑来叫能不能做个WebService 性能测试,当时我就凌乱了,不淡定啊,因为我是做测试的,以前连WebService 是什么不知道,毕竟咱 ...

  6. 记录一则expdp任务异常处理案例

    环境:AIX 6.1 + Oracle 10.2.0.4 现象:在XTTS迁移测试阶段,遇到执行几个expdp的导出任务,迟迟没有返回任何信息,对应日志无任何输出,查看任务状态: SQL> se ...

  7. ASP.Net Core 2.2 MVC入门到基本使用系列 (三)(转)

    本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...

  8. 例子:动能并不是特别强(2-3)后,下M5的同时,也是恢复期到期的前一天

    动能并不是特别强(2-3)后,下M5的同时,但是恢复期到期 EG.002195 2017/06/23-->2017/06/29

  9. 问题:mysql服务正在启动 mysql服务无法启动 && mysql启动脚本 mysql关闭脚本

    此篇目编写两个核心目的: 1.mysql服务启动脚本(start_mysql.bat),mysql服务停止脚本(stop_mysql.bat)的讲解. 2.解决问题:mysql服务无法启动. 操作流程 ...

  10. H5 dom元素保存为图片

    一.使用插件html2canvas:https://github.com/niklasvh/html2canvas 具体代码: 1.html <div class="test" ...