java 发邮件

很多项目都可能会用到发邮件功能,实现非常简单。

1 引入java发邮件用到的jar包

XML 复制代码
 <!-- https://mvnrepository.com/artifact/javax.mail/mail -->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>

2 java发邮件代码

XML 复制代码
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class EmailUtil {

    /**
     * 邮件工具类
     */

        /**
         * 发送邮件
         * @param to 给谁发
         * @param text 发送内容
         */
        public static void send_mail(String to,String text) throws MessagingException {
            //创建连接对象 连接到邮件服务器
            Properties properties = new Properties();
            //设置发送邮件的基本参数
            //发送邮件服务器
            properties.put("mail.smtp.host", "smtp.qq.com");
            //发送端口
            properties.put("mail.smtp.port", "587");
            properties.put("mail.smtp.auth", "true");
            //设置发送邮件的账号和密码
            Session session = Session.getInstance(properties, new Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    //两个参数分别是发送邮件的账户和密码(授权码)
                    return new PasswordAuthentication("xxxxx@qq.com","密码");
                }
            });

            //创建邮件对象
            Message message = new MimeMessage(session);
            //设置发件人
            message.setFrom(new InternetAddress("发出邮箱的地址"));
            //设置收件人
            message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
            //设置主题
            message.setSubject("验证邮箱");
            //设置邮件正文  第二个参数是邮件发送的类型
            message.setContent(text,"text/html;charset=UTF-8");
            //发送一封邮件
            Transport.send(message);
        }

}
相关推荐
马克Markorg5 小时前
常见的向量数据库和具有向量数据库能力的数据库
数据库
冷雨夜中漫步5 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴6 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再6 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
JH30736 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
喵手8 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
Coder_Boy_8 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
2501_944934738 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy8 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
invicinble8 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat