`

J2EE常用工具类——邮件处理类(javaMail发送邮件)

阅读更多
package cn.org.jsjshuwei.org.cn" target="_blank">huwei.j2ee.util;

import java.util.Date;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

/**
* javaMail发送邮件工具类
* 
* @author jshuwei.org.cn" target="_blank">huwei(jsjshuwei.org.cn" target="_blank">huwei.org.cn)
* @since 1.4
*/
public class MailUtil {
    /**
     * 发送邮件
     * 
     * @param mailServerHost
     *            邮件服务器地址
     * @param mailServerPort
     *            邮件服务器端口
     * @param validate
     *            是否要求身份验证
     * @param fromAddress
     *            发送邮件地址
     * @param toAddress
     *            接收邮件地址
     * @param subject
     *            邮件主题
     * @param content
     *            邮件内容
     * @param isHTML
     *            是否是html格式邮件
     * @param isSSL
     *            邮件服务器是否需要安全连接(SSL)
     * @return true:发送成功;false:发送失败
     */
    public static boolean sendMail(String mailServerHost,
            String mailServerPort, boolean validate, String fromAddress,
            String userPass, String toAddress, String subject, String content,
            boolean isHTML, boolean isSSL) {
        Properties p = new Properties();
        p.put("mail.smtp.host", mailServerHost);
        p.put("mail.smtp.port", mailServerPort);
        p.put("mail.smtp.auth", validate ? "true" : "false");
        if (isSSL) {
            p.put("mail.smtp.starttls.enable", "true");
            p.put("mail.smtp.socketFactory.fallback", "false");
            p.put("mail.smtp.socketFactory.port", mailServerPort);
        }
        Authenticator auth = null;
        if (validate) {
            auth = new myAuthenticator(fromAddress, userPass);
        }

        try {
            Session session = Session.getDefaultInstance(p, auth);
            Message message = new MimeMessage(session);
            Address from = new InternetAddress(fromAddress);
            Address to = new InternetAddress(toAddress);
            message.setFrom(from);
            message.setRecipient(Message.RecipientType.TO, to);
            message.setSubject(subject);
            message.setSentDate(new Date());
            if (isHTML) {
                Multipart m = new MimeMultipart();
                BodyPart bp = new MimeBodyPart();
                bp.setContent(content, "text/html; charset=utf-8");
                m.addBodyPart(bp);
                message.setContent(m);
            } else
                message.setText(content);
            Transport.send(message);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    // public static void main(String[] args) {
    // System.out
    // .println(MailUtil
    // .sendMail(
    // "smtp.live.com",
    // "25",
    // true,
    // "jshuwei.org.cn" target="_blank">huwei@jsjshuwei.org.cn" target="_blank">huwei.org.cn",
    // "xxxxxxxxxxxxxx",
    // "jshuwei.org.cn" target="_blank">huwei@jsjshuwei.org.cn" target="_blank">huwei.org.cn",
    // "test",
    // "尊敬的用户:jsjshuwei.org.cn" target="_blank">huwei,您于"
    // + new Date()
    // +
    // "使用了找回密码功能,请点击链接<a href='#' target='_blank'>修改密码</a>。请慎重保管注册密码!\n\n\n测试系统\n\n\n\n\n发送时间:"
    // + new Date(), true, true));
    // }
}

class myAuthenticator extends Authenticator {
    String userName;
    String userPass;

    public myAuthenticator() {
    }

    public myAuthenticator(String userName, String userPass) {
        this.userName = userName;
        this.userPass = userPass;
    }

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

 

分享到:
评论

相关推荐

    java常用工具类打包下载

    J2EE常用工具类汇总 J2EE常用工具类—Value Object工具类 J2EE常用工具类—Json工具 J2EE常用工具类—Jdbc操作 ...J2EE常用工具类——邮件处理类(javaMail发送邮件) J2EE常用工具类——字符串工具类

    javamail邮件发送工具类

    JavaMail邮件发送工具类是Java开发中用于发送电子邮件的标准库,它提供了丰富的API来处理复杂的邮件功能。在JavaMail中,我们可以通过创建特定的类和对象来实现邮件的发送。以下将详细介绍这些类以及如何使用它们。 ...

    支持全文检索的邮件代理服务平台 ——用户注册管理及JavaMail的应用与实现.doc

    - JavaMail API应用:JavaMail API用于与邮件服务器通信,获取、发送和管理邮件。 - 全文检索:利用Lucene创建邮件索引,用户输入关键词后,系统通过索引进行快速匹配,返回相关邮件。 - MVC模式:通过分离模型、...

    java一键发送邮件,封装好的工具类

    本教程将详细讲解一个已经封装好的Java邮件发送工具类——`EasyEmailUtil`,它使得邮件发送变得简单易行,无需繁琐的配置,只需一键调用即可完成。 首先,`EasyEmailUtil`类通常会包含以下几个核心功能: 1. **...

    java 发送邮件 小工具类+ mail.jar

    它包含了一个Java类,该类封装了发送电子邮件的过程,以及一个名为`mail.jar`的库,这个库可能包含了JavaMail API,是发送邮件所必需的。 JavaMail API是Java平台上用于处理邮件的开源库,它提供了一组API,允许...

    JavaMail(3)——发送带附件的邮件.docx

    在JavaMail中,`MimeMultipart` 类是处理多部分消息的关键,它允许在一个邮件中组合多种不同类型的数据,如文本和附件。`MimeBodyPart` 类则用来表示邮件中的单个部分,可以是一个纯文本、HTML内容或者一个附件。...

    java mail工具类

    JavaMail 是一个强大的开源库...通过理解和应用上述知识点,你可以构建一个高效、稳定的JavaMail工具类,实现邮件的发送、接收和管理功能。同时,结合`MailConfig.properties`进行配置管理,可以使代码更加灵活和安全。

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

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

    javaMail学习(七)——使用javaMail发复杂邮件

    在这个主题“javaMail学习(七)——使用javaMail发复杂邮件”中,我们将深入探讨如何使用 JavaMail API 发送包含多种附件、HTML 内容和其他复杂元素的邮件。在提供的文件列表中,我们看到一系列名为 MailUtils 的类,...

    常规JavaMail 邮件发送实用类

    总的来说,"常规JavaMail 邮件发送实用类"是一个集成了JavaMail API核心功能的自定义工具,通过封装邮件发送的复杂逻辑,简化了开发者的代码,提高了开发效率。文件列表中的`MailUtil.java`很可能就是这样一个实用类...

    java发送邮件工具类

    Java发送邮件工具类是Java开发中常用的一种技术,主要用于企业级应用中发送通知、验证码、报表等信息。这个工具类通常基于JavaMail API实现,它允许开发者通过编程方式发送电子邮件。下面将详细介绍Java发送邮件的...

    JavaMail发送邮件的例子

    JavaMail是一种在Java环境中发送和接收电子邮件的标准API,它提供了丰富的功能来处理复杂的邮件操作。在Struts2框架中集成JavaMail服务,可以方便地在Web应用中实现邮件的发送功能。下面我们将深入探讨JavaMail的...

    一个发送邮件的工具类

    在Java编程语言中,创建一个发送邮件的工具类是一个常见的需求,这通常涉及到JavaMail API的使用。这个工具类能够简化邮件发送的过程,使得开发者在处理邮件通信时更加便捷。以下是对标题和描述中提到的知识点的详细...

    javaMail获取发送邮件工具类.zip

    在这个名为 "javaMail获取发送邮件工具类.zip" 的压缩包中,我们可能找到了一个已经封装好的 Java 类,简化了使用 JavaMail 进行邮件操作的过程。 1. **SMTP(Simple Mail Transfer Protocol)**: SMTP 用于发送...

    javamail发送邮件小程序,类以及写好,只要放包,下载一个就可以

    JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个小程序可能包含了一套完整的类,可以帮助开发者快速构建邮件发送功能,无需从头开始编写所有必需的代码。 JavaMail 提供了对...

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

    - JavaMail API提供了一系列接口和类,允许开发者通过SMTP(Simple Mail Transfer Protocol)协议发送邮件。 - 主要涉及的接口和类包括:`Session`(邮件会话)、`Message`(邮件对象)、`Transport`(传输服务)...

    用Java类实现JavaMail发送邮件的例子

    总的来说,JavaMail API提供了一个强大的工具集,使得在Java应用程序中发送邮件变得简单。这个例子展示了如何使用JavaMail API的基本功能,包括SMTP认证、添加附件和发送HTML邮件,这对于开发Web应用或其他需要邮件...

    使用JAVAMail代发邮件

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

    腾讯邮件发送工具类

    总的来说,腾讯邮件发送工具类结合了Spring的邮件服务支持和JavaMail API,为开发者提供了一种高效、简洁的方式来实现通过腾讯邮箱发送邮件。无论是简单的文本邮件还是复杂的HTML邮件,甚至是包含附件的邮件,都可以...

    javamail 回执邮件资料

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了与 SMTP、POP3 和 IMAP 协议交互的接口,是开发基于 Java 的电子邮件应用的基础。回执邮件是邮件服务中的一项功能,它允许发件人在发送邮件...

Global site tag (gtag.js) - Google Analytics