使用Java实现qq邮箱发送邮件

 更新时间:2020年04月23日 15:51:13   作者:缺德的伯爵  
这篇文章主要为大家详细介绍了使用Java实现qq邮箱发送邮件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java操作qq邮箱发送邮件的具体代码,供大家参考,具体内容如下

今天尝试了使用QQ邮箱的POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务来进行发送邮件!(这些个服务就是些协议,只有开启了之后就可以做一些操作)

步骤

1、登录QQ邮箱> 设置 > 账户

2、找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
开启 POP3/SMTP 服务 > 拿到授权码

3、创建maven项目

4、在pom.xml导入依赖包

<!-- java发送邮件jar包 -->
   <dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>

5、创建java类 类名取为:SendEmailManger(注意包别导错了)

package com.xdl.util;

import com.sun.mail.util.MailSSLSocketFactory;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
/**
 * 邮件发送
 *     QQ邮箱--->别的邮箱
 * @author shiyunpeng
 */
public class SendEmailManger extends Thread {
  private String mailAdr;//邮箱
  private String content;//邮件的内容
  private String subject;//邮件的题目
  public SendEmailManger(String mailAdr, String subject, String content) {
    super();
    this.mailAdr = mailAdr;
    this.subject = subject;
    this.content = content;
  }
  @Override
  public void run() {
    super.run();
    try {
      sendMail(mailAdr, subject, content);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  private void sendMail(String mailAdr, String subject, String content) throws Exception {
    //加密的邮件套接字协议工厂
    MailSSLSocketFactory sf = new MailSSLSocketFactory();
    sf.setTrustAllHosts(true);
    final Properties props = new Properties();
    // 表示SMTP发送邮件,需要进行身份验证
    props.put("mail.transport.protocol", "smtp");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.host", "smtp.qq.com");
    // smtp登陆的账号、密码 ;需开启smtp登陆
    props.setProperty("mail.debug", "true");
    props.put("mail.user", "发送者邮箱");
    props.put("mail.password", "授权码");
    // 特别需要注意,要将ssl协议设置为true,否则会报530错误
    props.put("mail.smtp.ssl.enable", "true");
    props.put("mail.smtp.ssl.socketFactory", sf);
    Authenticator authenticator = new Authenticator() {
      protected PasswordAuthentication getPasswordAuthentication() {
        // 用户名、密码
        String userName = props.getProperty("mail.user");
        String password = props.getProperty("mail.password");
        return new PasswordAuthentication(userName, password);
      }
    };
    // 使用环境属性和授权信息,创建邮件会话
    Session mailSession = Session.getInstance(props, authenticator);
    // 创建邮件消息
    MimeMessage message = new MimeMessage(mailSession);
    // 设置发件人
    try {
      InternetAddress form = new InternetAddress(props.getProperty("mail.user"));
      message.setFrom(form);
      // 设置收件人
      InternetAddress to = new InternetAddress(mailAdr);
      message.setRecipient(Message.RecipientType.TO, to);
      // 设置抄送
      // InternetAddress cc = new InternetAddress("591566764@qq.com");
      // message.setRecipient(RecipientType.CC, cc);
      // 设置密送,其他的收件人不能看到密送的邮件地址
      // InternetAddress bcc = new InternetAddress("mashen@163.com");
      // message.setRecipient(RecipientType.CC, bcc);
      // 设置邮件标题
      message.setSubject(subject);
      // 设置邮件的内容体
      message.setContent(content, "text/html;charset=UTF-8");
      // 发送邮件
      Transport.send(message);
    } catch (MessagingException e) {
      e.printStackTrace();
    }
  }
  public static void main(String[] args) {
    SendEmailManger d = new SendEmailManger("接收邮件的邮箱", "syp:", "我呵呵,啊打: <br/><br/>加油哦!!!!....");
    d.start();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring事务失效场景的详细整理

    Spring事务失效场景的详细整理

    Spring 事务的传播特性说的是,当多个事务同时存在的时候,Spring 如何处理这些事务的特性,下面这篇文章主要给大家介绍了关于Spring事务失效场景的相关资料,需要的朋友可以参考下
    2022-02-02
  • SpringBoot 返回Html界面的操作代码

    SpringBoot 返回Html界面的操作代码

    这篇文章主要介绍了SpringBoot 返回Html界面的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • 使用java实现云端资源共享小程序的代码

    使用java实现云端资源共享小程序的代码

    这篇文章主要介绍了用java写一个云端资源共享小程序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • SpringMVC的执行过程浅析

    SpringMVC的执行过程浅析

    这篇文章主要给大家介绍了关于SpringMVC的执行过程的相关资料,文中通过图文介绍的非常详细,对大家的学习或者使用SpringMVC具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • 浅谈spring中scope作用域

    浅谈spring中scope作用域

    这篇文章主要介绍了浅谈spring中scope作用域,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Java抽奖抢购算法

    Java抽奖抢购算法

    这篇文章主要为大家详细介绍了Java抽奖抢购算法,ava实现的抽奖抢购算法,用数据库行锁实现,支持集群,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • java基础之String知识总结

    java基础之String知识总结

    今天带大家来回顾一下Java基础,文中详细总结了String的相关知识,对正在学习java基础的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • Idea创建Jsp项目完整版教程

    Idea创建Jsp项目完整版教程

    一直在使用eclipse,对idea嗤之以鼻,前些日子换成了idea以后觉得太香了,这篇文章主要给大家介绍了关于Idea创建Jsp项目的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-04-04
  • Java 中图片压缩处理的解决方案

    Java 中图片压缩处理的解决方案

    图片经过base64编码转换后,文件会变大的原因是因为base64编码会将每个3字节的数据转换成4字节的数据,并且在转换的过程中还会添加一些额外的字符,这篇文章主要介绍了Java 中如何对图片进行压缩处理,需要的朋友可以参考下
    2023-09-09
  • Spring中基于Java的配置@Configuration和@Bean用法详解

    Spring中基于Java的配置@Configuration和@Bean用法详解

    这篇文章主要介绍了Spring中基于Java的配置@Configuration和@Bean用法详解,Spring中为了减少xml中配置,可以声明一个配置类(例如SpringConfig)来对bean进行配置。,需要的朋友可以参考下
    2019-06-06

最新评论