java通过SMTP发送QQ邮件(参考龙果学院)
个人邮箱开通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);}
}
在发邮件过程中有的人会发送不成功,出现如下错误:
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中的对应的两的包就好了。
java通过SMTP发送QQ邮件(参考龙果学院)相关推荐
- java通过SMTP发送QQ邮件的完全步骤
java通过SMTP发送QQ邮件的完全步骤 首先,我们需要打开QQ邮箱的SMTP服务,因为QQ邮箱对于一般的用户都是默认关闭SMTP服务的. 打开QQ邮箱,点击设置 点击帐户 找到SMTP服务的选项, ...
- oracle 发的邮件qq,python基于SMTP发送QQ邮件
python基于SMTP发送QQ邮件,供大家参考,具体内容如下 第一步: 1.打开qq邮箱,开启smtp服务 2.验证密保 3.获取授权码 python代码里面使用 在Python中, smtplib ...
- python判断邮件发送成功_【基本解决】python中用SMTP发送QQ邮件提示成功但是收件人收不到邮件...
折腾: 期间, 已经用了smtp的ssl去发送邮件了,但是结果: 第二收件人也没有收到邮件... 那去把端口号从465改为587: smtpPort=587, 结果直接出错: smtpObj = sm ...
- (Python)使用SMTP发送QQ邮件
要想通过QQ邮箱来发送邮件,需要开启QQ邮箱的设置-账户里SMTP服务,接下来会通过发送短信验证来获得授权码,有了授权码后就可以在代码里添加了. 接下来看看QQ的邮件服务器配置: (授权码填写在代码的 ...
- 【Java】JavaMail发送QQ邮件邮件
荐读 JavaMail邮件发送不成功的那些坑人情况及分析说明 javax.mail.AuthenticationFailedException异常的处理 QQ邮箱如何开启POP3/SMTP服务 发送说 ...
- smtp发送QQ邮件
准备工作 在Windows下开启telnet服务,具体方法:百度经验 (开启服务后最好重启一下电脑,如果之后的步骤除了问题,也许和没重启有关系) 获取qq邮箱验证码,方法可参考我的另一篇博客的开始部分 ...
- 使用python SMTP 自动发送qq邮件
使用python SMTP 自动发送qq邮件 参考教程 参考博客 目前有个需求就是在阿里云服务器上跑不间断抓取数据的python程序,程序有时会出现bug,因为不可能随时随地都看着程序运行,所以就想到 ...
- Java 通过SMTP实现发送QQ邮件
在eclipse中创建项目,并把javax.amil.jar和commons-email-1.5,jar复制到项目中 链接:https://pan.baidu.com/s/1sQjA1GEpKi6IJ ...
- Java发送QQ邮件问题Could not connect to SMTP host: smtp.qq.com, port: 465(内附完整代码)
邮件发送失败,本地测试可以,部署到服务器就不行. 之前就碰到这个问题,解决办法就是把port端口改成587,然后注释这一段 MailSSLSocketFactory sf = new MailSSLS ...
- python3:利用SMTP协议发送QQ邮件+附件
转载请表明出处:https://www.cnblogs.com/shapeL/p/9115887.html 1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器 http://service.mai ...
最新文章
- postgresql 查询序列_时间序列数据库(TSDB)初识与选择
- docker 镜像的使用和下载
- Kafka基础知识入门
- Flink实时计算性能分析
- Netflix如何使用机器学习来提升流媒体质量?
- ubuntu16.04 安装composer 以及 laravel
- 使用console.table()调试javascript
- 没有共享存储和仲裁盘的SQL Server 2012HADR故障手动切换TSQL
- android唯一机器码生成方案_分布式系统唯一ID生成方案汇总
- Hbase单机安装及使用hbase shell进行简单操作
- 网络字节序与主机字节序 高低位
- 光遇自动弹琴脚本代码_光遇自动弹琴脚本
- Pycharm通过ssh远程连接服务器
- 暗时间--BY刘未鹏
- 【机器学习-白板推导系列】学习笔记---支持向量机和主成分分析法
- 自动生成文章摘要[JavaScript 版本]
- OpenPower基金会和联盟是什么?
- python实现小程序_python实现小程序
- 04、【电脑维修】Win 10重新安装微软商店以及便筏打不开问题
- 《Love and Math》(1)