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
相关推荐
本篇文章将深入探讨如何使用Java编写程序来实现邮件的发送,包括发送纯文本邮件、带有附件的邮件、包含图片的邮件以及在邮件中显示图片。 首先,我们得知道JavaMail API是实现邮件发送功能的关键库。它提供了一系列...
`普通邮件发送演示.java`应该展示了如何使用JavaMail API发送简单的文本邮件。JavaMail API是Java中用于处理电子邮件的标准库,包括了发送邮件、接收邮件等功能。要发送普通邮件,你需要设置SMTP服务器地址、端口、...
下面是一个简单的Java邮件发送示例,展示如何使用JavaMail API发送邮件: ```java import javax.mail.*; import javax.mail.internet.*; public class SimpleJavaMail { public static void main(String[] args)...
首先,Java Mail API是Java发送邮件的核心库,它提供了丰富的接口和类来处理邮件协议,如SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)。在你的项目中,你需要引入`javax.mail`和`javax....
1. **JavaMail API**: JavaMail API是Java平台的核心组件之一,提供了处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)的接口和类。它允许开发者创建、读取、发送和管理电子邮件。 2. ...
下面是一个简单的Java发送邮件的示例代码: ```java import javax.mail.*; import javax.mail.internet.*; public class EmailSender { public static void main(String[] args) { // 设置邮件服务器属性 ...
用Java语言实现简单邮件系统 用Java语言实现简单邮件系统 用Java语言实现简单邮件系统
### Java 实现简单邮件程序详解 #### 一、概述 在现代互联网应用中,电子邮件仍然是一个非常重要的通信手段。无论是企业内部沟通还是对外营销活动,邮件都扮演着不可或缺的角色。本篇文章将详细介绍如何使用Java...
下面将详细解释如何在Java中实现邮件发送,以及涉及到的关键知识点。 首先,JavaMail API是Java平台用于处理邮件的核心库,它提供了创建、发送、读取和管理电子邮件的功能。要发送邮件,你需要引入`javax.mail`和`...
以上是实现Java邮件客户端的关键技术点。通过学习和实践这些内容,你将能够构建出一个功能完善的邮件系统客户端。在具体实践中,还要根据实际需求进行定制化开发,比如增加日历集成、联系人管理等功能,以满足不同...
JavaMail API是Java平台上用于发送和接收电子邮件的标准API,它提供了丰富的接口和类来处理邮件协议,如SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP(因特网消息访问协议)。要使用JavaMail API,首先...
本教程将详细介绍如何使用`commons-email-1.1`库结合Java来实现邮件发送功能。 `commons-email`是Apache Commons项目的一部分,它提供了一个简单且灵活的API来创建和发送电子邮件。在`java`开发中,`commons-email`...
实现一个简单的Java邮件客户端,我们需要以下步骤: 1. 初始化`Session`:设置SMTP服务器信息和其他配置。 2. 创建`MimeMessage`:填充邮件的各个字段,如发件人、收件人、主题和正文。 3. 如果需要,创建`...
下面是一个简单的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来实现这个功能,以及涉及的相关知识点。 首先,Java发送邮件主要依赖于JavaMail API,这是一个开源的Java库,它提供了标准的JavaMail API规范,允许开发者发送、接收和...
本文将深入探讨如何使用JavaMail API在Java应用程序中实现发送邮件的功能,同时也会涉及验证码验证以及网页版邮件发送的实现。 首先,要发送邮件,我们需要引入JavaMail的相关库。通常,这包括`javax.mail`和`javax...
JavaMail是Java编程语言中用于发送和接收电子邮件的标准API,它是通过JavaMail API来实现的。这个API提供了与SMTP(简单邮件传输协议)服务器交互的能力,使得开发者可以在应用程序中轻松地发送邮件。在这个主题中,...
本教程将深入讲解如何使用Java实现邮件发送功能,包括所需的库、基本概念以及实际代码示例。 首先,JavaMail API是Java平台用于处理邮件服务的核心库。要发送邮件,你需要在项目中引入`javax.mail`和`javax.mail....
Java发送邮件功能是Java开发中常见的一项任务,它允许开发者通过编程的方式实现电子邮件的发送,包括正文内容、附件以及抄送等高级功能。在Java中,我们主要利用JavaMail API来实现这一目标。 JavaMail API是一个...