`

常规JavaMail 邮件发送实用类

阅读更多

import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
* 常规JavaMail 邮件发送实用类
*/
public final class MailUtil {
    // 邮件发送者地址
    private static final String SenderEmailAddr = "xxxxxxxx@163.com";

    // 邮件发送者邮箱用户
    private static final String SMTPUserName = "xxxxxxxx";
    
    // 邮件发送者邮箱密码
    private static final String SMTPPassword = "xxxxxxxxx";

    // 邮件发送者邮箱SMTP服务器
    private static final String SMTPServerName = "smtp.163.com";

    // 传输类型
    private static final String TransportType = "smtp";

    // 属性
    private static Properties props;

    /**
     * 私有构造函数,防止外界新建本实用类的实例,因为直接使用MailUtil.sendMail发送邮件即可
     *
     */
    private MailUtil() {

    }

    /**
     * 静态构造器
     */
    static {
        MailUtil.props = new Properties();

        // 存储发送邮件服务器的信息
        MailUtil.props.put("mail.smtp.host", MailUtil.SMTPServerName);
        // 同时通过验证
        MailUtil.props.put("mail.smtp.auth", "true");
    }

    /**
     * 发送邮件
     * @param emailAddr:收信人邮件地址
     * @param mailTitle:邮件标题
     * @param mailConcept:邮件内容
     */
    public static void sendMail(String emailAddr, String mailTitle,
            String mailConcept) {
        // 根据属性新建一个邮件会话,null参数是一种Authenticator(验证程序) 对象
        Session s = Session.getInstance(MailUtil.props, null);

        // 设置调试标志,要查看经过邮件服务器邮件命令,可以用该方法
        s.setDebug(false);
        
        // 由邮件会话新建一个消息对象
        Message message = new MimeMessage(s);
        try {
            // 设置发件人
            Address from = new InternetAddress(MailUtil.SenderEmailAddr);
            message.setFrom(from);

            // 设置收件人
            Address to = new InternetAddress(emailAddr);
            message.setRecipient(Message.RecipientType.TO, to);

            // 设置主题
            message.setSubject(mailTitle);
            // 设置信件内容
            message.setText(mailConcept);
            // 设置发信时间
            message.setSentDate(new Date());
            // 存储邮件信息
            message.saveChanges();

            Transport transport = s.getTransport(MailUtil.TransportType);
            // 要填入你的用户名和密码;
            transport.connect(MailUtil.SMTPServerName, MailUtil.SMTPUserName,
                    MailUtil.SMTPPassword);

            // 发送邮件,其中第二个参数是所有已设好的收件人地址
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();

            System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle
                    + " 内容:" + mailConcept + "成功!");
        } catch (Exception e) {
            System.out.println(e.getMessage());
            System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle
                    + " 内容:" + mailConcept + "失败! 原因是" + e.getMessage());
        }
    }

    /**
     * 测试邮件发送情况
     * @param args
     */
    public static void main(String[] args){
        MailUtil.sendMail("xxxxxxx@yeah.net", "Java测试邮件", "测试内容<hr>!");
    }
}

分享到:
评论

相关推荐

    javamail邮件发送工具类

    在使用JavaMail发送Gmail邮件时,需要配置OAuth2认证或者使用Google的App Passwords。`GmailSender`可能包含了设置这些认证信息以及发送Gmail邮件的具体逻辑。 4. **Mailbox.java** 这个类可能代表了收件箱或发件...

    使用JAVAMail代发邮件

    这个类称为 MailInfo,包含了邮件的各种信息,例如邮件服务器的主机名和端口号、邮件发送者的地址、邮件接收者的地址、邮件主题、邮件内容、邮件附件等。 在 MailInfo 类中,我们定义了多个成员变量,用于存储邮件...

    JavaMail发送邮件的例子

    下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...

    JavaMail邮件发送Deom

    JavaMail发送邮件的基本步骤如下: 1. 引入依赖:在项目中添加activation.jar和mail.jar,通常可以通过Maven或Gradle等构建工具进行管理。 2. 创建Session:这是JavaMail的核心,用于配置邮件服务的属性,如SMTP...

    JavaMail邮件发送源码 非常简单

    首先,我们需要了解JavaMail发送邮件的基本步骤: 1. **配置Properties对象**:创建一个`Properties`对象,并设置SMTP服务器的相关属性,如主机名(mail.smtp.host)和端口号(mail.smtp.port)。如果SMTP服务器...

    javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码

    ### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...

    javamail邮件发送实例

    在JavaMail API中,我们可以使用MimeMessage类创建邮件,用Session类配置邮件服务器的连接参数,并通过Transport类将邮件发送出去。以下是一个详细的JavaMail邮件发送的实现过程。 首先,你需要导入JavaMail相关的...

    javamail邮件发送源码

    JavaMail邮件发送源码是Java开发中用于发送电子邮件的一个库,它提供了丰富的API来处理SMTP、POP3和IMAP等邮件协议。这个简单的javamail实例表明,开发者已经成功地测试了邮件发送功能,确保其在实际应用中可以正常...

    javamail邮件群发、单发_邮件发送

    JavaMail 是一个强大的开源库,用于在 Java 应用程序中处理电子邮件的发送和接收。它提供了丰富的 API,使得开发者可以方便地实现邮件的发送、接收、管理等操作。在这个主题中,我们将深入探讨如何使用 JavaMail ...

    javamail邮件发送项目

    【javamail邮件发送项目】是一个基于Java技术的邮件发送解决方案,主要利用Spring框架进行配置,结合FreeMarker(FTL)模板技术实现邮件内容的动态生成,并具备异步发送及批量处理邮件的能力,最多可同时处理1000份...

    基于Javamail的邮件收发系统.zip

    基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...

    JavaMail邮件收发实例_JavaMail_API

    JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API

    javaMail 发邮件

    这个例子展示了如何使用JavaMail发送带附件的邮件。需要注意的是,实际应用中应处理各种异常,确保邮件发送的健壮性。此外,如果你的邮件服务器需要身份验证,还需要提供一个Authenticator来处理登录信息。 总的来...

    JavaMail邮件发送(带附件)

    JavaMail邮件发送(带附件)

    javamail邮件发送接收测试

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。这个“javamail邮件发送接收测试”是开发者在学习过程中创建的一个测试项目,旨在帮助理解和实践 JavaMail 的核心功能。通过这个项目,我们可以深入...

    JavaMail发送邮件(文本、html、附件)

    这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、HTML和包含附件的邮件,以及在实际应用中需要注意的配置步骤。 1. *...

    使用javaMail发送邮件

    JavaMail 是一个开源库,用于在Java应用程序中发送和接收电子邮件。这个库提供了一组API,使得开发者可以方便地处理SMTP、POP3、IMAP等邮件协议。在本篇文章中,我们将深入探讨如何使用JavaMail API来实现邮件的发送...

    Spring实现JavaMail邮件发送功能

    其中,Spring的JavaMail支持使得开发者能够轻松地实现邮件发送功能。在本篇文章中,我们将深入探讨如何利用Spring来实现JavaMail邮件发送,以及在实际应用中需要注意的关键点。 首先,我们需要理解JavaMail API的...

    javaMail实现发送邮件的demo

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了一组 API,使得开发者可以方便地在 Java 应用程序中集成邮件功能。本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要...

Global site tag (gtag.js) - Google Analytics