javax.mail发送邮件遇到的问题

水深无声 2022-07-14 15:11 282阅读 0赞

今天研究使用java的mail发送邮件时先使用QQ的smtp发送邮件(运气不好),按照网上设置资料设置,怎么都是发送失败,设置password时不管是qq密码还是授权码都提示失败,报错如下![Image 1][],

【解决方式】

最后看了下QQ官网设置的使用SSL,端口号465或587,用第一个端口465也不行,半天发不出去(没反应),用第二个居然秒发。(ps:网上资料使用25端口,QQ官网上没找到,改天再研究研究)

另外半天没研究出来,试了下126邮箱,具体协议官网有说明,比较详细(ps:此处比QQ好多了)。而且使用默认方式瞬间就成功了(绝望)。最后才接着研究了QQ邮箱问题。

  1. public static void main(String[] args){
  2. //这个类主要是设置邮件
  3. MailSenderInfo mailInfo = new MailSenderInfo();
  4. /*qq email*/
  5. mailInfo.setMailServerHost("smtp.qq.com");
  6. //必须使用SSL发送邮件服务器:smtp.qq.com,使用SSL,端口号465或587,用默认端口25,提示没有权限
  7. mailInfo.setMailServerPort("587");
  8. mailInfo.setValidate(true);
  9. mailInfo.setUserName("xxxxx@qq.com");
  10. mailInfo.setPassword("xxx");//另外qq邮箱目前使用授权码登陆 ,不用QQ密码;126测试可以用登陆密码,设置授权码之后必须使用授权码
  11. mailInfo.setFromAddress("xxx@qq.com");
  12. mailInfo.setToAddress("xxx@qq.com");
  13. mailInfo.setSubject("设置邮箱标题");
  14. mailInfo.setContent("设置邮箱内容");
  15. //这个类主要来发送邮件
  16. SimpleMailSender sms = new SimpleMailSender();
  17. try {
  18. sms.sendTextMail(mailInfo);
  19. System.out.println("发送成功!");
  20. } catch (Exception e) {
  21. // TODO Auto-generated catch block
  22. e.printStackTrace();
  23. }//发送文体格式
  24. }

[Image 1]:

发表评论

表情:
评论列表 (有 0 条评论,282人围观)

还没有评论,来说两句吧...

相关阅读

    相关 PHP发送邮件问题详解

    在开发 Web 应用程序时,经常需要使用 PHP 来发送电子邮件。PHP 提供了一种简单而强大的方式来发送邮件,使得开发者可以方便地集成邮件功能到他们的应用程序中。本文将详细解

    相关 发送邮件

    根据需求需要在服务中catch exception 并把对应的异常信息发送给用户,做到异常处理的主动发现,以便于开发人员能及时的维护系统处理异常。 1、C\ 程序发送Ema