实现发送邮件的发送必须有前提条件:

在qq邮件中开启POP3/SMTP服务,如下图所示(为本人邮件设置):

开启后会得到一个授权码.代码中会用到

需要的包:

百度网盘(包+源码):链接: https://pan.baidu.com/s/1dFEnIxV 密码: qsj4

不多讲话 ,直接上代码:

  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. import com.sun.mail.util.MailSSLSocketFactory;
  10.  
  11. public class SendMail {
  12.  
  13. public static void main(String[] args) throws Exception {
  14.  
  15. Properties prop = new Properties();
  16. // 开启debug调试,以便在控制台查看
  17. prop.setProperty("mail.debug", "true");
  18. // 设置邮件服务器主机名
  19. prop.setProperty("mail.host", "smtp.qq.com");
  20. // 发送服务器需要身份验证
  21. prop.setProperty("mail.smtp.auth", "true");
  22. // 发送邮件协议名称
  23. prop.setProperty("mail.transport.protocol", "smtp");
  24.  
  25. // 开启SSL加密,否则会失败
  26. MailSSLSocketFactory sf = new MailSSLSocketFactory();
  27. sf.setTrustAllHosts(true);
  28. prop.put("mail.smtp.ssl.enable", "true");
  29. prop.put("mail.smtp.ssl.socketFactory", sf);
  30.  
  31. // 创建session
  32. Session session = Session.getInstance(prop);
  33. // 通过session得到transport对象
  34. Transport ts = session.getTransport();
  35. // 连接邮件服务器:邮箱类型,帐号,授权码代替密码(更安全)
  36. ts.connect("smtp.qq.com", "123456789@qq.com", "xcwalavrgfamafhe");
  37. // 创建邮件
  38. Message message = createSimpleMail(session);
  39. // 发送邮件
  40. ts.sendMessage(message, message.getAllRecipients());
  41. ts.close();
  42. }
  43.  
  44. /**
  45. * 开始测试~
  46. */
  47. public static MimeMessage createSimpleMail(Session session) throws Exception {
  48. // 创建邮件对象
  49. MimeMessage message = new MimeMessage(session);
  50. // 指明邮件的发件人
  51. message.setFrom(new InternetAddress("123456789@qq.com"));
  52. // 指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
  53. message.setRecipient(Message.RecipientType.TO, new InternetAddress("123456789@qq.com"));
  54. // 邮件的标题
  55. message.setSubject("this is JavaMail demo");
  56. // 邮件的文本内容
  57. message.setContent("Send a success!", "text/html;charset=UTF-8");
  58. return message;
  59. }
  60. }

注意:代码中有关账户密码的信息是我瞎写的,请不要直接测试~

Java---实现邮件发送的更多相关文章

  1. 用java实现邮件发送验证码

    java实现邮件发送验证码 建议不要用qq邮箱,我使用qq邮箱直接一直给我报530错误,我一直认为我代码写的有错误或者POP3/SMTP服务没弄好.所以建议注册个别的邮箱,我就申请了个网易163邮箱瞬 ...

  2. java mail邮件发送(带附件) 支持SSL

    java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.ut ...

  3. java spring 邮件发送

    开发中经常会遇到发送邮件进行用户验证,或者其它推送信息的情况,本文基于spring,完成邮件的发送,主要支持普通文本邮件的发送,html文本邮件的发送,带附件的邮件发送,没有实现群发.多个附件发送等需 ...

  4. 【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】

    一.邮件发送 1.邮件发送使用SMTP协议或者IMAP协议,这里使用SMTP协议演示. SMTP协议使用的端口号:25 rfc821详细记载了该协议的相关信息 (1)使用telnet发送邮件(使用12 ...

  5. JAVA实现邮件发送功能(账号注册验证码、账号激活等)

    第一步,导入JAR包,JAR包下载地址[http://pan.baidu.com/s/1kVRvGyF] 如果是Maven,请直接在Pom文件中加入 <dependency> <gr ...

  6. Java Mail 邮件发送简单封装

    上一篇文章我们用写了一个Java Mail 的Demo,相信你已经可以用那个例子来发送邮件了.但是Demo 有很多的问题. 首先每次发送需要配置的东西很多,包括发件人的邮箱和密码.smtp服务器和SM ...

  7. Java Mail 邮件发送Demo

    上周公司的项目要求开发邮件发送功能.自己在网上跟着教程边学边做了一下午,现在基本开发完成了.由于一个同事也想看下该怎么写,顺便学习下.所以我就写成了一遍教程,顺便巩固下邮件发送里面的内容. Demo ...

  8. Java实现邮件发送

      概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <depende ...

  9. 纯java实现邮件发送服务(亲测好用)

    今天自己测试了一下用java代码实现发送有限的服务,非常简单.直接贴代码: import com.sun.mail.util.MailSSLSocketFactory; import javax.ma ...

  10. Java Mail邮件发送的简单实现

    1.什么是java mail JAVA MAIL是利用现有的邮件账户发送邮件的工具,通过JAVA Mail的操控,让程序自动的使用设置的邮箱发送邮件. 这一机制被广泛的用在注册激活和垃圾邮件的发送等方 ...

随机推荐

  1. 一款特好用的JavaScript框架——JQuery

      了解了解                    jQuery是一个快速,小巧,功能丰富的JavaScript库.它使诸如HTML文档遍历和操纵,事件处理,动画和Ajax等事情变得简单得多,而且易于 ...

  2. 将非常规Json字符串转换为常用的json对象

    如下所示,这是一个已经转换为Json对象的非常规Json字符串,原来是一个Json类型的字符串,在转换为Json对象时,查询资料发现有两种转换法,.parse()和.eval()方法,但是前辈们都极其 ...

  3. Vue.js优雅的实现列表清单

        一.Vue.js简要说明 Vue.js (读音 /vjuː/) 是一套构建用户界面的渐进式框架.与前端框架Angular一样, Vue.js在设计上采用MVVM模式,当View视图层发生变化时 ...

  4. C#操纵Excel,此工作薄包含嵌入对象,Office 2007的设定方法

    C#操纵Excel,插入OLE对象时报“此工作薄包含嵌入对象,EXCEL可能无法从这些对象中删除个人信息.”, 如网上所述,Office 2003可以通过“菜单>>工具>>选项 ...

  5. 数据库中File权限的危害

    The FILE privilege gives you permission to read and write files on the server host using the LOAD DA ...

  6. jenkins 安装部署 springboot启动

     安装稳定版本的jenkins1,前置依赖:安装jdk-1.81,下载yum仓库sudo wget -O /etc/yum.repos.d/jenkins.repo  http://pkg.jenki ...

  7. C#表达式目录树(Expression)

    1.什么是表达式目录树 :简单的说是一种语法树,或者说是一种数据结构(Expression) 2.用Lambda声明表达式目录树: Expression<Func<; //表达试目录树的方 ...

  8. css3 ajax加载进度线

    最近想了想ajax加载时的进项,便着手写了这个,我想css3的支持度已经够了 <button onclick="start()">button</button&g ...

  9. [最短路]信使(msner)

    [题目描述] 战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指挥部下达一个命令后 ...

  10. Minecraft

    描述 Minecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界. 在Minecraft中,基本的建筑元素是边长为1个单位的立方体,Tony想用N个这种小立方 ...