java编写QQ邮箱发送邮件_调用QQ邮箱接口

编程知识 更新时间:2023-05-03 03:33:29

使用java语言,调用QQ邮箱发送邮件接口,完成QQ邮箱发送邮件。步骤如下

 

  1. 在QQ邮箱主界面里面开启POP/SMTP服务:设置-账户-开启pop/smtp服务

 

 

  1. 点击开启pop/smtp服务后,会弹出验证密保,就是通过密保手机号,发送“配置邮件客户端”到1069 0700 69,(自己用手机弄一下就好了),用自己手机发送完后点击“我已发送”

 

  1. 点击“我已发送”后会弹出一个开启POP3/SMTP服务的授权码,这个授权码很重要,要记住这个授权码:授权码很重要,然后点击确定

 

  1. 此次我们就开起来POP3/SMTP服务了

 

  1. 到我们的项目中开始编码:
    1. 首先我们在项目中导入一个包:mail.jar  ,可以到网网上搜索下载

 

    1. 编写一个QQ发送邮件的工具类:在工具类里面编写一个静态的方法:这个静态方法接收两个参数,第一个参数是:你要发送给对方的邮箱(对方qq邮箱),第二个参数:发送的内容(我的项目中是验证码):代码如下:

package org.passbox.soft.utils;

 

import java.util.Properties;

 

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.Message.RecipientType;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

 

import com.sun.mail.util.MailSSLSocketFactory;

 

/*

 * 邮件发送工具类

 *

 * */

public class MailUtils {

 

       //发送第二封验证码邮件

       public static void sendMail(String to, String vcode) throws Exception{

              //设置发送邮件的主机  smtp.qq

              String host = "smtp.qq";

              //1.创建连接对象,连接到邮箱服务器

              Properties props = System.getProperties();

              //Properties 用来设置服务器地址,主机名 。。 可以省略

              //设置邮件服务器

              props.setProperty("mail.smtp.host", host);       

              props.put("mail.smtp.auth", "true");

              //SSL加密

              MailSSLSocketFactory sf = new MailSSLSocketFactory();

              sf.setTrustAllHosts(true);

              props.put("mail.smtp.ssl.enable","true");

              props.put("mail.smtp.ssl.socketFactory", sf);     

              //props:用来设置服务器地址,主机名;Authenticator:认证信息

              Session session = Session.getDefaultInstance(props,new Authenticator() {

                     @Override   

                     //通过密码认证信息

                     protected PasswordAuthentication getPasswordAuthentication() {

                            //new PasswordAuthentication(用户名, password);

                            //这个用户名密码就可以登录到邮箱服务器了,用它给别人发送邮件

                            return new PasswordAuthentication("写自己QQ邮箱","写自己的授权码");

                     }            

              });

              try {

                     Message message = new MimeMessage(session);

                     //2.1设置发件人:

                     message.setFrom(new InternetAddress("写自己的QQ邮箱"));

                     //2.2设置收件人 这个TO就是收件人

                     message.setRecipient(RecipientType.TO, new InternetAddress(to));

                     //2.3邮件的主题

                     message.setSubject("来自密码云网站验证码邮件");

                     //2.4设置邮件的正文 第一个参数是邮件的正文内容 第二个参数是:是文本还是html的连接

                     message.setContent("<h1>来自密码云网站验证码邮件,请接收你的验证码:</h1><h3>你的验证码是:"+vcode+",请妥善保管好你的验证码!</h3>", "text/html;charset=UTF-8");      

                     //3.发送一封激活邮件

                     Transport.send(message);

                    

              }catch(MessagingException mex){

                      mex.printStackTrace();

              }     

       }

      

}

 

注意:

 

5.3 在server里面调用这个QQ邮箱工具类里面的静态方法发送邮件:而且要传入两个参数

.对方的QQ邮箱和,内容(验证码)

 

5.4 我们就可以收到发送过来的邮件了

 

最后:如果出现535错误(乱码535),

       原因1:授权码错误

       原因2:开启POP3/SMTP服务后,没有保存

更多推荐

java编写QQ邮箱发送邮件_调用QQ邮箱接口

本文发布于:2023-04-30 09:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/a36141104013662f905bd2d1b1ac37a5.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:邮箱   发送邮件   接口   java   QQ

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 113911文章数
  • 28878阅读数
  • 0评论数