出现的错误如下:

org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.qq.com:465
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1469)
at org.apache.commons.mail.Email.send(Email.java:1496)
at emailtest.Test.main(Test.java:21)
Caused by: javax.mail.AuthenticationFailedException: 535 Error: ÇëʹÓÃÊÚȨÂëµÇ¼¡£ÏêÇéÇë¿´: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:950)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:861)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:766)
at javax.mail.Service.connect(Service.java:388)
at javax.mail.Service.connect(Service.java:246)
at javax.mail.Service.connect(Service.java:195)
at javax.mail.Transport.send0(Transport.java:254)
at javax.mail.Transport.send(Transport.java:124)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1459)
... 2 more

代码:

public class Test {
public static void main(String[] args) {
Email email = new SimpleEmail();
email.setHostName("smtp.qq.com");// 发送服务器的名字
email.setAuthenticator(new DefaultAuthenticator("123456789@qq.com", "zzz"));//邮箱名和密码
email.setSSLCheckServerIdentity(true);
email.setSSLOnConnect(true);
email.setSmtpPort(465);
try {
email.setFrom("123456789@qq.com");
email.setSubject("测试");// 发送主题
email.setMsg("邮件测试内容!");// 发送内容
email.addTo("123456789@qq.com");// 接受邮件账户
email.send();// 发送
} catch (EmailException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// 发送邮箱
}
}

使用的jar包如下:

使用如上代码,首先确保邮箱已经开启了 POP3、SMTP等服务。

开启之后,一定要生成授权码,上面的邮箱名和密码

email.setAuthenticator(new DefaultAuthenticator("123456789@qq.com", "zzz"));//邮箱名和密码

密码是授权码,而不是你的邮箱真正的密码。

java向邮箱发送消息失败!的更多相关文章

  1. java实现邮箱发送信息--验证码的发送(163邮箱)

    1.maven环境 <!-- 发送邮件 --> <dependency> <groupId>javax.mail</groupId> <artif ...

  2. Kafka发送消息失败原因

    Kafka发送消息方法如下: Properties properties = new Properties(); properties.put("zookeeper.connect" ...

  3. python给邮箱发送消息

    首先要用到两个模块  并且大同你的发送邮箱smtp 最开始测试没打通了好久 smtplib是提供邮箱smtp服务, email是提供你发送消息的格式之类服务 import smtplib from e ...

  4. Java多线程分批发送消息的小例子

    需求: 假设有10万个用户,现在节假日做活动,需要给每个用户发送一条活动短信,为了提高程序的效率,建议使用多线程分批发送. 这里值得注意的是: 每开一个线程都会占用CPU的资源,所以线程根据所需要的条 ...

  5. Java使用多线程发送消息

    在后台管理用户信息的时候,经常会用到批量发送提醒消息,首先想到的有: (1).循环发送列表,逐条发送.优点是:简单,如果发送列表很少,而且没有什么耗时的操作,是比较好的一种选择,缺点是:针对大批量的发 ...

  6. Netty 发送消息失败或者接收消息失败的可能原因

    1. 消息发送失败: 检查通道是否建立成功 Netty中的通道建立采用的是异步方式,获取到的通道对象可能为空或初始化未完成: 2. 接收的消息有丢失 消息可能会粘包,是否有拆包机制

  7. Java实现邮箱发送验证码

    第一步,导入JAR包,JAR包下载地址[http://pan.baidu.com/s/1kVRvGyF] 正式代码: 首先书写一个工具类: MailUtil import javax.mail.*; ...

  8. Java实现邮箱发送

  9. 增加线程异步发送消息的方法二(Runnable)

    //获取当前时间:毫秒 long a = System.currentTimeMillis(); System.out.println("a :" + a); try { //更改 ...

随机推荐

  1. hdu 3466 Proud Merchants 01背包变形

    Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) ...

  2. 使用js获取URL地址栏里面的参数, 获取请求链接参数,函数定义如下

    function getUrlRequestParam(name) { var paramUrl = window.location.search.substr(1); var paramStrs = ...

  3. hibernate5的一些坑

    SessionFactory创建的修改 如果你是刚刚从hibernate4升级到hibernate5,这时候你的项目肯定就要出错了,什么错呢? org.hibernate.MappingExcepti ...

  4. python apscheduler的使用

    from apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetime def my_jo ...

  5. Jupyter 常用快捷键 及 常用方法笔记

      两个不同的cell有上下的关系, 不是完全独立的, 下图可以看出下面的res是引用上面的   保存节点        就像虚拟机的快照与恢复 回到节点 保存文件 s(快捷键)        实际写 ...

  6. 关于JQuery animate()方法

    html: <button>点击我</button> <p>如果你想在一个涉及动画的函数之后来执行语句,请使用callback函数</p> <di ...

  7. 关于圆角border-radius

    一.border-radius 可以同时设置1-4个值 a)1个值  控制4个圆角 b)2个值  第1个控制左上角和右下角   第2个值控制左下角和右上角 c)3个值  第1个控制   第2个值控制左 ...

  8. C#链接数据库:SQL Server 2008

    自己学习C#编程,在WinForm编程中,代码测试连接数据库. 现在sqlserver中测试使用的数据库能否以指定的用户名和密码登录. 如图所示,计算机名为administrator,数据库实例为sq ...

  9. Android Studio设置代码风格

    进入settings,然后搜索CodeStyle选择Java进入如下界面 scheme选择project

  10. Mysql 性能调优参数

    1.DEFAULT_STORAGE_ENGINE <br\>如果你已经在用MySQL 5.6或者5.7,并且你的数据表都是InnoDB,那么表示你已经设置好了.如果没有,确保把你的表转换为 ...