新闻资讯

新闻资讯 媒体报道

邮箱验证中的硬性功能——发送QQ邮件

编辑:008     时间:2022-03-31

1.导入依赖jar包

2.在你要发送的邮件的地址开启相关服务

1.配置环境

    <dependency>

        <groupId>javax.mail</groupId>

         <artifactId>mail</artifactId>

         <version>1.4</version>

     </dependency>

2.在你要发送的邮件的地址开启相关服务


1.比如,你要从a@qq.com 发送到 b@qq.com ,那么你就要开启a@qq.com 的相关服务


2.方法:我的是在网页版QQ邮箱,设置 >> 账户 >> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

在这里插入图片描述

3.按提示获取 授权码,获取到后要保存好,它相当于你的登录密码

在这里插入图片描述

二话不说,上代码:

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class EmailTest3
{
    public static void main(String [] args)
    {
        // 收件人电子邮箱
        String to = "a@qq.com,b@qq.com"; //可以多个

        // 发件人电子邮箱
        String from = "c@qq.com";

        // 指定发送邮件的主机为 smtp.qq.com
        String host = "smtp.qq.com";  //QQ 邮件服务器

        // 获取系统属性
        Properties properties = System.getProperties();

        // 设置邮件服务器
        properties.setProperty("mail.smtp.host", host);

        properties.put("mail.smtp.auth", "true");
        // 获取默认session对象
        Session session = Session.getDefaultInstance(properties,new Authenticator(){
            public PasswordAuthentication getPasswordAuthentication()
            {
                return new PasswordAuthentication("c@qq.com", "xxxxxxxx"); //发件人邮件用户名、授权码
            }
        });

        try{
            // 创建默认的 MimeMessage 对象
            MimeMessage message = new MimeMessage(session);

            // Set From: 头部头字段
            message.setFrom(new InternetAddress(from));

            // Set To: 头部头字段
            message.setRecipients(MimeMessage.RecipientType.TO,
                    InternetAddress.parse(to));

            // Set Subject: 头部头字段
            message.setSubject("This is the Subject Line!");

            // 设置消息体
            message.setText("This is actual message");

            // 发送消息
            Transport.send(message);
            System.out.println("Sent message successfully....from runoob.com");
        }catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }
}
在这里插入图片描述

这就成功了,后面验证的步骤作为一名程序开发者就不仔细讲了,这里需要注意的是QQ邮件的服务器需要书写正确,鹅厂的文档及网络上教程里面几种,不能死板的只用一种,剩下的小编就不多讲了!!!

摘自:https://blog.csdn.net/weixin_43520670/article/details/107424276

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐