java通过SMTP发送QQ邮件编辑

标签:JAVA,其他发布于 2016-09-24 16:08:24

个人邮箱开通SMTP服务(进入个人邮箱,点击设置–>账户): 

点击了账户后,往下拉可以看到SMTP服务选项,默认情况下这个选项是不开启的。点击开启腾讯会进行身份验证,身份验证通过以后,会收到一个用于使用SMTP的16位口令,验证身份的过程中把收到的口令保存下来,因为后面要使用SMTP功能必须要用到这个口令。 

具体实现代码:

    public static void main(String args[]) {        // 邮件内容         String content = "content";        // 邮件标题         String subject = "龙果学院";        // Smtp服务器地址         String smtpHost = "smtp.qq.com";        //发件人邮箱         String emailUserName = "发件人邮箱";        //开通SMTP服务过程中收到的认证口令         String emailPassword = "开通SMTP服务过程中收到的认证口令";             Properties props = new Properties();            try {                // 开启debug调试                 props.setProperty("mail.debug", "true");                // 发送服务器需要身份验证                 props.setProperty("mail.smtp.auth", "true");                // 设置邮件服务器主机名                 props.setProperty("mail.host", smtpHost);                // 发送邮件协议名称                 props.setProperty("mail.transport.protocol", "smtp");                 MailSSLSocketFactory sf = new MailSSLSocketFactory();                 sf.setTrustAllHosts(true);                 props.put("mail.smtp.ssl.enable", "true");                 props.put("mail.smtp.ssl.socketFactory", sf);                // 设置环境信息                 Session session = Session.getInstance(props, new Authenticator() {                    // 在session中设置账户信息,Transport发送邮件时会使用                     protected PasswordAuthentication getPasswordAuthentication() {                        return new PasswordAuthentication(emailUserName, emailPassword);                     }                 });                // 创建邮件对象                 Message msg = new MimeMessage(session);                // 发件人                 msg.setFrom(new InternetAddress(emailUserName));                   // 多个收件人                 msg.setRecipients(RecipientType.TO, InternetAddress.parse("xxxx@qq.com,xxx@qq.com"));                // 抄送人                 msg.setRecipient(RecipientType.CC, new InternetAddress("xxx@qq.com"));                // 暗送人                 // msg.setRecipient(RecipientType.BCC, new InternetAddress("xxx@qq.com"));                  // 主题                 msg.setSubject(subject );                // HTML内容                 msg.setContent("<div align=\"center\">你好啊</div>", "text/html;charset=utf-8");                // 连接邮件服务器、发送邮件、关闭连接,全干了                 Transport.send(msg);             }catch( Exception e)     {         LOG.info(e.getMessage(), e);     } }123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657

在发邮件过程中有的人会发送不成功,出现如下错误: 
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

这个是jdk导致的,jdk里面有一个jce的包,安全性机制导致的访问https会报错,官网上有替代的jar包,换掉就好了

对应包的下载地址: 
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

下载好后,直接替换掉本地JDK中的对应的两的包就好了。

转载于:https://blog.51cto.com/roncoo/1856090

java通过SMTP发送QQ邮件(参考自龙果学院)相关推荐

  1. java通过SMTP发送QQ邮件的完全步骤

    java通过SMTP发送QQ邮件的完全步骤 首先,我们需要打开QQ邮箱的SMTP服务,因为QQ邮箱对于一般的用户都是默认关闭SMTP服务的. 打开QQ邮箱,点击设置 点击帐户 找到SMTP服务的选项, ...

  2. oracle 发的邮件qq,python基于SMTP发送QQ邮件

    python基于SMTP发送QQ邮件,供大家参考,具体内容如下 第一步: 1.打开qq邮箱,开启smtp服务 2.验证密保 3.获取授权码 python代码里面使用 在Python中, smtplib ...

  3. python判断邮件发送成功_【基本解决】python中用SMTP发送QQ邮件提示成功但是收件人收不到邮件...

    折腾: 期间, 已经用了smtp的ssl去发送邮件了,但是结果: 第二收件人也没有收到邮件... 那去把端口号从465改为587: smtpPort=587, 结果直接出错: smtpObj = sm ...

  4. (Python)使用SMTP发送QQ邮件

    要想通过QQ邮箱来发送邮件,需要开启QQ邮箱的设置-账户里SMTP服务,接下来会通过发送短信验证来获得授权码,有了授权码后就可以在代码里添加了. 接下来看看QQ的邮件服务器配置: (授权码填写在代码的 ...

  5. 【Java】JavaMail发送QQ邮件邮件

    荐读 JavaMail邮件发送不成功的那些坑人情况及分析说明 javax.mail.AuthenticationFailedException异常的处理 QQ邮箱如何开启POP3/SMTP服务 发送说 ...

  6. smtp发送QQ邮件

    准备工作 在Windows下开启telnet服务,具体方法:百度经验 (开启服务后最好重启一下电脑,如果之后的步骤除了问题,也许和没重启有关系) 获取qq邮箱验证码,方法可参考我的另一篇博客的开始部分 ...

  7. 使用python SMTP 自动发送qq邮件

    使用python SMTP 自动发送qq邮件 参考教程 参考博客 目前有个需求就是在阿里云服务器上跑不间断抓取数据的python程序,程序有时会出现bug,因为不可能随时随地都看着程序运行,所以就想到 ...

  8. Java 通过SMTP实现发送QQ邮件

    在eclipse中创建项目,并把javax.amil.jar和commons-email-1.5,jar复制到项目中 链接:https://pan.baidu.com/s/1sQjA1GEpKi6IJ ...

  9. Java发送QQ邮件问题Could not connect to SMTP host: smtp.qq.com, port: 465(内附完整代码)

    邮件发送失败,本地测试可以,部署到服务器就不行. 之前就碰到这个问题,解决办法就是把port端口改成587,然后注释这一段 MailSSLSocketFactory sf = new MailSSLS ...

  10. python3:利用SMTP协议发送QQ邮件+附件

    转载请表明出处:https://www.cnblogs.com/shapeL/p/9115887.html 1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器 http://service.mai ...

最新文章

  1. ajax提交数据到后台php接收
  2. 此代码募集最优秀的答案
  3. [笔记]NumPy基础操作
  4. 微信小程序篇(微信小程序的支付)
  5. 【转】TCP协议中的三次握手和四次挥手(图解)
  6. 人工智能的炒作_解密人工智能:是炒作还是我们期望太高
  7. 轻量级锁的加锁和解锁逻辑-自旋锁
  8. Mad Libs 游戏
  9. EasyUI:textbox自定义验证手机号(正则)
  10. 登录图片拖动验证联系后台
  11. springboot酒店客房管理系统设计
  12. 基于just work的LE legacy pairing过程
  13. ajax技术的实质是什么意思,什么是Ajax?Ajax的原理是什么?Ajax的核心技术是什么?Ajax的优缺点是什么?...
  14. jQuery中index的用法
  15. 小程序 rich-text 修改图片和文字样式
  16. IEC61850中涉及到的逻辑节点(LN)所代表的含义
  17. 手机搜狐 html5,手机搜狐网计划改版,将利用HTML5技术
  18. 软件测试是背锅,测试如何少背锅”
  19. 如何改变胆小怕事的性格?
  20. 金刚怒目与菩萨低眉——企业安全的IAM和DLP

热门文章

  1. php 输入 保留格式化,phpstorm实现保存(ctrl+s)同时格式化代码的方法
  2. 常见视频分辨率及码率
  3. 微软服务器监控软件,Windows监控,Windows监控软件
  4. 配置远程桌面服务(windows server 2008 R2)
  5. 也谈VC中ModifyStyleModifyStyleEx无法改变控件的Style)
  6. php把字体调大,phpDesigner 8调整字体大小的方法。
  7. 风云再续:他抖任他抖,IO诊断在我手
  8. [SharePoint教程系列]SharePoint 2016 安装语言包
  9. 富士通750打印机驱动步骤_非网络激光打印机如何进行网络打印?
  10. 当今流行的HTML5技术门户网站——HTML5星空