`
汾水边的意气少年
  • 浏览: 7943 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java发邮件简单实现

 
阅读更多

                                            Java发邮件简单实现

 

        给出一个Java发送邮件的简单实现。

        

1、	接口
public interface MailSendServDu {

    public void sendEmail(String addressee, String subject, String content);
}

2、	实现
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Map;
import java.util.Properties;


/**
 * 邮件发送接口
 * @param
 * @author Wu Jianguo
 * @version V1.0
 * @Description:
 * @modificationHistory=================重大变更调整记录
 * @modify by user: Wu Jianguo
 * @modify by reason:{方法名}:{原因}
 * @return
 * @throws
 */
public class MailSendServDuImpl implements MailSendServDu{

    private Logger logger = Logger.getLogger(this.getClass());

    // 初始化连接邮件服务器的会话信息
    private Properties properties = null;
    // 创建Session实例对象
    private Session session = null;

    String fromAddress = null;
    String fromName = null;
    String charset = null;

    public MailSendServDuImpl() {
        logger.info("发送邮件相关配置初始化.......");

        Map<String,String> map = PropertiesUtils.getPropertiesValues("/properties/mail.properties");
        String turnon = map.get("mail.turnon");
        if (Boolean.parseBoolean(turnon)) {
            String protocol = map.get("mail.protocol");
            fromAddress = map.get("mail.fromAddress");
            fromName = map.get("mail.fromName");
            String host = map.get("mail.host");
            String port = map.get("mail.port");
            String auth = map.get("mail.auth");
            String username = map.get("mail.username");
            String password = map.get("mail.password");
            String debug = map.get("mail.debug");
            charset = map.get("mail.charset");

            properties = new Properties();
            properties.setProperty("mail.transport.protocol", protocol);
            properties.setProperty("mail.smtp.host", host);
            properties.setProperty("mail.smtp.port", port);
            properties.setProperty("mail.smtp.auth", auth);
            properties.setProperty("mail.debug", debug);

            if (Boolean.parseBoolean(auth)) {
                session = Session.getDefaultInstance(properties, new HatomAuthenticator(username, password));
            } else {
                session = Session.getDefaultInstance(properties, new HatomAuthenticator());
            }
        }
    }

    @Override
    public void sendEmail(String addressee, String subject, String content) {
        logger.info("发送邮件");

        MailSendServDuImpl ps = new MailSendServDuImpl();

        try {
            if (null != properties) {
                // 创建MimeMessage实例对象
                MimeMessage message = new MimeMessage(session);
                // 设置发件人
                message.setFrom(new InternetAddress(fromAddress, fromName));
                // 设置邮件主题
                message.setSubject(subject);
                // 设置收件人
                message.setRecipient(Message.RecipientType.TO, new InternetAddress(addressee));
                // 设置发送时间
                message.setSentDate(new Date());
                // 设置html内容为邮件正文,指定MIME类型为text/html类型,并指定字符编码
                message.setContent(content, "text/html;charset=" + charset);
                // 保存并生成最终的邮件内容
                message.saveChanges();
                // 发送邮件
                Transport.send(message);
            }
        } catch (Exception e) {
            System.err.println(e.getMessage());
            logger.info("发送邮件异常");
        }

    }

    /**
     * 向邮件服务器提交认证信息
     */
    class HatomAuthenticator extends Authenticator {
        private String username;
        private String password;

        public HatomAuthenticator() {
            super();
        }

        public HatomAuthenticator(String username, String password) {
            super();
            this.username = username;
            this.password = password;
        }

        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
    }
}

3、	配置文件
# 是否打开邮件发送
mail.turnon=true
# 邮件发送协议
mail.protocol=smtp
# 发信邮箱
mail.fromAddress=XXXX@163.com
# 发信人
mail.fromName=XX
# smtp端口号
mail.host=smtp.163.com
mail.port=25
# 是否需要验证
mail.auth=true
# smtp账号
mail.username=XXXX@163.com
# smtp密码
mail.password=
# 调试级别,0 关闭,1 一般,2较高
mail.debug=0
# 编码
mail.charset=UTF-8

 

1
1
分享到:
评论

相关推荐

    写java程序实现发邮件功能

    本篇文章将深入探讨如何使用Java编写程序来实现邮件的发送,包括发送纯文本邮件、带有附件的邮件、包含图片的邮件以及在邮件中显示图片。 首先,我们得知道JavaMail API是实现邮件发送功能的关键库。它提供了一系列...

    java实现邮件发送(三种发送方式都有)

    `普通邮件发送演示.java`应该展示了如何使用JavaMail API发送简单的文本邮件。JavaMail API是Java中用于处理电子邮件的标准库,包括了发送邮件、接收邮件等功能。要发送普通邮件,你需要设置SMTP服务器地址、端口、...

    简单Java邮件发送 Java实现邮件发送

    下面是一个简单的Java邮件发送示例,展示如何使用JavaMail API发送邮件: ```java import javax.mail.*; import javax.mail.internet.*; public class SimpleJavaMail { public static void main(String[] args)...

    java实现邮件自动发送

    首先,Java Mail API是Java发送邮件的核心库,它提供了丰富的接口和类来处理邮件协议,如SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)。在你的项目中,你需要引入`javax.mail`和`javax....

    java实现一个邮件客户端

    1. **JavaMail API**: JavaMail API是Java平台的核心组件之一,提供了处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)的接口和类。它允许开发者创建、读取、发送和管理电子邮件。 2. ...

    java实现发邮件实例

    下面是一个简单的Java发送邮件的示例代码: ```java import javax.mail.*; import javax.mail.internet.*; public class EmailSender { public static void main(String[] args) { // 设置邮件服务器属性 ...

    用Java语言实现简单邮件系统

    用Java语言实现简单邮件系统 用Java语言实现简单邮件系统 用Java语言实现简单邮件系统

    java实现简单邮件程序

    ### Java 实现简单邮件程序详解 #### 一、概述 在现代互联网应用中,电子邮件仍然是一个非常重要的通信手段。无论是企业内部沟通还是对外营销活动,邮件都扮演着不可或缺的角色。本篇文章将详细介绍如何使用Java...

    java发送邮件简单实现

    下面将详细解释如何在Java中实现邮件发送,以及涉及到的关键知识点。 首先,JavaMail API是Java平台用于处理邮件的核心库,它提供了创建、发送、读取和管理电子邮件的功能。要发送邮件,你需要引入`javax.mail`和`...

    Java实现邮件客户端

    以上是实现Java邮件客户端的关键技术点。通过学习和实践这些内容,你将能够构建出一个功能完善的邮件系统客户端。在具体实践中,还要根据实际需求进行定制化开发,比如增加日历集成、联系人管理等功能,以满足不同...

    java实现邮件发送功能

    JavaMail API是Java平台上用于发送和接收电子邮件的标准API,它提供了丰富的接口和类来处理邮件协议,如SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP(因特网消息访问协议)。要使用JavaMail API,首先...

    java 发邮件例子

    本教程将详细介绍如何使用`commons-email-1.1`库结合Java来实现邮件发送功能。 `commons-email`是Apache Commons项目的一部分,它提供了一个简单且灵活的API来创建和发送电子邮件。在`java`开发中,`commons-email`...

    JAVA邮件客户端实现

    实现一个简单的Java邮件客户端,我们需要以下步骤: 1. 初始化`Session`:设置SMTP服务器信息和其他配置。 2. 创建`MimeMessage`:填充邮件的各个字段,如发件人、收件人、主题和正文。 3. 如果需要,创建`...

    java实现发送邮件功能源码+jar

    下面是一个简单的Java发送邮件的示例代码: ```java Properties props = new Properties(); props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp....

    Java发送outlook邮件

    在这个场景下,我们将深入探讨如何使用Java来实现这个功能,以及涉及的相关知识点。 首先,Java发送邮件主要依赖于JavaMail API,这是一个开源的Java库,它提供了标准的JavaMail API规范,允许开发者发送、接收和...

    java实现发送邮件功能demo

    本文将深入探讨如何使用JavaMail API在Java应用程序中实现发送邮件的功能,同时也会涉及验证码验证以及网页版邮件发送的实现。 首先,要发送邮件,我们需要引入JavaMail的相关库。通常,这包括`javax.mail`和`javax...

    java发邮件完整以及各个邮箱的设置

    JavaMail是Java编程语言中用于发送和接收电子邮件的标准API,它是通过JavaMail API来实现的。这个API提供了与SMTP(简单邮件传输协议)服务器交互的能力,使得开发者可以在应用程序中轻松地发送邮件。在这个主题中,...

    JAVA发送邮件实现

    本教程将深入讲解如何使用Java实现邮件发送功能,包括所需的库、基本概念以及实际代码示例。 首先,JavaMail API是Java平台用于处理邮件服务的核心库。要发送邮件,你需要在项目中引入`javax.mail`和`javax.mail....

    java发送邮件功能

    Java发送邮件功能是Java开发中常见的一项任务,它允许开发者通过编程的方式实现电子邮件的发送,包括正文内容、附件以及抄送等高级功能。在Java中,我们主要利用JavaMail API来实现这一目标。 JavaMail API是一个...

Global site tag (gtag.js) - Google Analytics