`

JavaSendEmail(发送邮件)

 
阅读更多

1、需要导入jar包:java.mail.jar(已在附件中)。

 

package test;

import java.util.Calendar;
import java.util.Properties;

import javax.mail.Authenticator;
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.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendEmailTest {

    public static void sendEmailMessage(String smtpHost, String fromEmail, String password, String toEmail, String subject, String messageText,
            String messageType) throws MessagingException {
        // 第一步:配置javax.mail.Session对象
        System.out.println("为" + smtpHost + "配置mail session对象");

        Properties props = new Properties();
        props.put("mail.smtp.host", smtpHost);
        props.put("mail.smtp.starttls.enable", "true");// 使用 STARTTLS安全连接
        // props.put("mail.smtp.port", "25"); //google使用465或587端口
        props.put("mail.smtp.auth", "true"); // 使用验证
        // props.put("mail.debug", "true");
        Session mailSession = Session.getInstance(props, new MyAuthenticator(fromEmail, password));

        // 第二步:编写消息
        System.out.println("编写消息from——to:" + fromEmail + "——" + toEmail);

        InternetAddress fromAddress = new InternetAddress(fromEmail);
        InternetAddress toAddress = new InternetAddress(toEmail);

        MimeMessage message = new MimeMessage(mailSession);

        message.setFrom(fromAddress);
        message.addRecipient(RecipientType.TO, toAddress);

        message.setSentDate(Calendar.getInstance().getTime());
        message.setSubject(subject);
        message.setContent(messageText, messageType);

        // 第三步:发送消息
        Transport transport = mailSession.getTransport("smtp");
        transport.connect(smtpHost, "", password);
        transport.send(message, message.getRecipients(RecipientType.TO));
        System.out.println("message send success!");
    }

    public static void main(String[] args) {
        try {
            SendEmailTest.sendEmailMessage("smtp.163.com", "woshishui202.ok@163.com", "------", "769455803@qq.com", "哈哈", "天道酬勤",
                    "text/html;charset=gb2312");
        } catch (MessagingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

class MyAuthenticator extends Authenticator {
    String userName = "";
    String password = "";

    public MyAuthenticator() {

    }

    public MyAuthenticator(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }

    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(userName, password);
    }
}

分享到:
评论

相关推荐

    JavaSendEmail 用java直接发送邮件 有jar包

    通过代码直接用java发送邮件 有2个jar包 mail.jar commons-email-1.2-sources.jar 和一个test方法

    Java sendemail

    NULL 博文链接:https://laoyaos.iteye.com/blog/2037331

    java 发送Email

    java 发送Email!!java 发送Email!!java 发送Email!!

    pyzmq-23.2.1-cp310-cp310-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    springboot769旅游管理系统.mp4

    项目运行视频

    数据库的阿萨德概述.txt

    数据库的阿萨德概述.txt

    grpcio-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    最专业的devops工程师学习路径,无论是专业devops,还是IT小白,都值得拥有

    成为一名专业的DevOps工程师是一个持续学习和实践的过程。无论您是专业DevOps工程师还是IT小白,以下学习路径都是值得拥有的: ### 初学者阶段 1. **编程基础**:学习至少一种编程语言,如Python或Shell脚本编写,这将帮助您自动化任务和编写工具。 2. **操作系统和网络基础**:理解Linux系统和网络基础,这对于配置和管理服务器至关重要。 3. **版本控制**:掌握Git,这是现代软件开发中不可或缺的工具。 4. **CI/CD工具**:熟悉Jenkins或GitLab CI等工具,以实现持续集成和持续部署。 5. **容器技术**:学习Docker和Kubernetes,以实现应用的容器化和编排。 6. **云服务**:了解AWS、Azure或Google Cloud Platform等云服务的基本操作。

    v8390966-xhs-Guanfang_X64.apk

    v8390966-xhs-Guanfang_X64.apk

    stream.x64.x-none.rarstream.x64.x-none.rarstream.x64.x-none.rars

    stream.x64.x-none.rarstream.x64.x-none.rarstream.x64.x-none.rars

    springboot751的社区维修平台.mp4

    项目运行视频

    16框架结构模板工程.doc

    16框架结构模板工程

    ab520设备资料pdf

    AB520铝线楔形焊线机为您提供完全精密间距及高速灵活的楔形焊接技术,精制的焊头及 XY工作台实现了精确高速的铝线焊接,保障了较高生产能力(可能提高30%),进而增加了您在市场上的竟争力,先进的“EaglePRS”(Eagle图像识别系统)保证了焊接位置的精度,也减少了人员操作茧自缚,提高了成本效率,以这些尖端特性,AB520适用于焊接比较广范围的线路板上晶片(COB)产品,继承AB510系列之经验,增加了以下新技术:XY工作台利用滚珠螺杆获得精密的分解度和更高的准确性 工作台直接与100K精密编码器连接并间接地由伺服马达由精密计时带驱动,伺服一步旋转为工作台提供较精密的0.0036*旋转,这样提高了工作台的分解度焊头由滚珠螺杆驱动获得较高的准确性和稳定性

    nx1p-sbca-cn5-104-1-3

    nx1p_sbca-cn5_104_1_3

    分布式锁与信号量.docx

    分布式锁与信号量 分布式锁与信号量 一、分布式锁 定义: 分布式锁是在分布式系统环境下,通过锁机制来让多个客户端互斥地对共享资源进行访问的一种机制。 原理: 分布式锁能够保证在分布式系统中,多个节点对同一个资源进行并发访问时的互斥性。 分布式锁的实现通常依赖于底层的数据存储系统,如数据库、缓存系统(如Redis)或分布式存储系统(如ZooKeeper)。 实现方式: 基于数据库的分布式锁实现:通过数据库中的表来存储锁的状态信息,利用数据库的事务机制确保只有一个节点能够成功获取到锁。 基于缓存的分布式锁实现:使用分布式缓存系统(如Redis)来存储锁的状态信息。通过在缓存中存储一个特定的键值对来表示锁的状态,其他节点在获取锁时可以尝试设置该键值对并检查是否设置成功来确定是否可以获取锁。 基于分布式存储系统的分布式锁实现:通过创建临时顺序节点来实现锁的获取和释放。节点的创建顺序可以表示锁的获取顺序,其他节点在获取锁时可以监听节点的变化来确定是否可以获取锁。 应

    C#语言教程&简单案例

    C#语言案例简介: 本案例提供了一个使用C#语言编写的简单程序,目的是展示如何在控制台输出"Hello, World!"。这个程序是一个入门级的示例,适合初学者用来了解C#的基本语法和运行机制。 - **语言特性**: C#是一种面向对象的编程语言,由微软开发,是.NET框架的一部分。 - **程序结构**: 程序包括命名空间的使用、类的定义、主方法(Main),以及控制台输出。 - **主要功能**: 程序运行后,会在控制台窗口中显示"Hello, World!"。 - **适用人群**: 适合对C#感兴趣的初学者,以及希望快速了解C#编程基础的开发者。 - **学习价值**: 通过这个案例,学习者可以学习到C#的基本语法、程序结构、控制台输出,以及如何编译和运行一个简单的C#程序。 - **运行方式**: 程序通常在.NET支持的集成开发环境(IDE)中编写,如Visual Studio或Visual Studio Code,并通过.NET运行时执行。 - **环境搭建**: 需要安装.NET SDK和支持C#开发的IDE,如Visual Studio。 这个案例

    协同过滤基于用户+源代码+文档说明

    - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    1_base.apk.1.1.1

    1_base.apk.1.1.1

    测试1111111111111111

    测试1111111111111111

    chapter09_exma_04.c

    chapter09_exma_04.c

Global site tag (gtag.js) - Google Analytics