- 浏览: 63436 次
- 性别:
- 来自: 四川
最新评论
啥也不说了,直接放代码,一切尽在代码中。。。
1、
要发送的邮件数据对象:
public class MailData { /** 发件人的用户名。 */ private String userName; /** 发件的密码。 */ private String password; /** 发件人的邮件地址 */ private String mailAddress; /** 收件人的地址列表。 */ private String[] receiveAddress; /** 发送的pop邮箱服务器地址。 */ private String smtp; /** 邮件主题。 */ private String subject; /** 邮件正文。 */ private String content; /** 邮件正文是否是纯文本。 */ private boolean isHtml; private File[] files; // get/set方法... }
public class MailSend { /** * 发送邮件。 * * @param data * 邮件内容对象。 * @throws Exception */ public void sendMail(final MailData data) throws Exception { Session session = this.getSession(data); Message msg = new MimeMessage(session); this.setMailMsg(msg, data); Transport.send(msg); } /** * 设置邮件信息。包括邮件内容、标题、发送者、接收者、附件等信息。 * * @param msg * Message对象。 * @param data * 邮件信息内容。 * @throws Exception */ private void setMailMsg(Message msg, MailData data) throws Exception { // 设置邮件接收者。 msg.addRecipients(Message.RecipientType.TO, Utils.toAddress(data.getReceiveAddresses())); // 设置邮件发送者。 msg.setFrom(Utils.toAddress(data.getSendAddress())); // 设置邮件的标题。这里最好使用setHeader的方式,使用setSubject的方式无法指定编码格式,其它语言可能会乱码。 // 如果这里的标题太长了的话,始终会有一部分会是乱码。这点还不知道如何修改。 msg.setHeader("Subject", MimeUtility.encodeText(data.getSubject(), "utf-8", "B")); // msg.setSubject(data.getSubject()); Multipart multipart = new MimeMultipart(); this.setMailContentPart(data, multipart); msg.setContent(multipart); } /** * 设置邮件正文和附件。 * * @param data * 邮件的信息内容。 * @param multipart * 邮件的对象。 */ private void setMailContentPart(MailData data, Multipart multipart) throws Exception { // 设置邮件内容。 MimeBodyPart bPart = new MimeBodyPart(); if (data.isHtml()) { bPart.setContent(data.getContent(), "text/html;charset=UTF-8"); } else { // 以text设置时要设置编码方式,最好为utf-8,不然其它语言可能乱码。 bPart.setText(data.getContent(), "utf8"); } multipart.addBodyPart(bPart); // 设置邮件附件。 if (data.getFiles() != null) { for (File f : data.getFiles()) { if ((f != null) && f.isFile()) { bPart = new MimeBodyPart(); DataSource source = new FileDataSource(f); bPart.setDataHandler(new DataHandler(source)); // 设置文件名时要设置编码,不然会乱码的。最好指定编码格式为utf8 bPart.setFileName(MimeUtility.encodeText(f.getName(), "utf-8", "B")); multipart.addBodyPart(bPart); } } } } /** * 根据邮件的服务器信息获取Session对象。 * * @param data * 邮件的服务器信息对象。 * @return 返回获取的Session对象。 */ private Session getSession(final MailData data) { Properties pro = new Properties(); // 设置邮件发送smtp服务器。 pro.put("mail.smtp.host", data.getSmtp()); // 设置发送邮件需要验证身份 pro.put("mail.smtp.auth", "true"); // 发送邮件的身份认证对象。 Authenticator auth = new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(data.getUserName(), data.getPassword()); } }; return Session.getDefaultInstance(pro, auth); } }
发表评论
-
struts2 中获取 web资源的方式
2016-01-08 17:02 533在struts2中获取 web资源的方式大致可分为获取扩展 ... -
sql server、db2、oracle 存储过程动态sql语句示例
2015-01-31 19:00 1839Oracle CREATE OR REPLACE PRO ... -
ie9 中出现不明的异常(参数是必选项 (Argument not optional)、尚未实现)等
2015-01-27 23:57 1311<script type="text/jav ... -
SAXParseException: The content of element type "configuration" must match
2014-09-15 23:57 1967在mybatis的配置文件中新增加<databaseI ... -
java.lang.ClassNotFoundException: Cannot find class: DB_VENDOR
2014-09-15 23:45 2007在mybatis 中使用databaseIdProvide ... -
spring mvc3 + fastjson 转换 REST 参数以及输出
2014-03-27 00:16 4253spring 3可以支持Rest风格参数,其内置了jack ... -
eclipse中编辑log4j 的xml配置文件时,自动提示
2014-03-27 00:05 894方法1. 配置log4j.dtd文件: Windows - ... -
java json 转换之 Jackson 框架
2013-08-01 21:50 1169转自:http://www.cnblogs.com/hooj ... -
eclipse/myeclise 自定义注释中的变量名称
2013-07-01 23:18 972eclipse/myeclipse中自带了 ... -
Eclipse Class Decompiler——Java反编译插件
2012-11-08 22:41 1241Eclipse Class Decompiler,整 ... -
struts+spring+hibernate整合问题解决方法 陆续更新中....
2009-01-01 10:33 882在整合ssh过程中出现的问题和解决方法: 一、 严重: Ser ... -
DWR通过Annotation与spring整合
2009-01-21 22:05 668DWR 2.0 增加了一个很有趣的新特性,Annotat ... -
div嵌套页面 div加载页面 (其中获取目标页面的内容是用dwr框架连接java程序做的)
2009-03-15 16:58 659前段时间因为有需要,要在div中加载一个页面。但是以前没做过, ... -
tapestry autocomplete 更改样式及定位
2009-07-09 19:02 722版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文 ... -
Java中的main()方法详解
2009-07-12 16:23 652源文作者:leizhimin 源文链接:http:/ ... -
tapestry5 集成 spring 的事务管理
2009-07-22 15:43 600说明:使用的是tapestry5.1.0.5 和spring ... -
tapestry5 布局 参数的处理
2009-07-23 17:24 432<?xml version="1.0" ... -
tapestry不支持 等html特殊符号的解决方法
2009-07-23 17:34 545在使用tapestry时,偶然发现使用 &a ... -
WebService大讲堂之Axis2(1):用POJO实现0配置的WebService
2009-07-28 15:01 430转自:http://space.itpub.net ... -
WebService大讲堂之Axis2(2):复合类型数据的传递
2009-07-28 15:25 519转自:http://space.itpub.net/12921 ...
相关推荐
在你提供的压缩包文件中,包含了三个关键元素:activation.jar、mail.jar以及SendMail.java,这些都是Java Mail发邮件所需的基本组件。 `activation.jar` 是JavaBeans Activation Framework (JAF) 的一部分,它是...
Java Mail 发送邮件及邮件附件 Java Mail 是一个广泛使用的 Java 库,用于发送电子邮件。以下是 Java Mail 发送邮件及邮件附件的知识点。 Java Mail 简介 Java Mail 是一个 Java 库,提供了发送电子邮件的功能。...
### Java Mail 发送邮件知识点详解 #### 一、概述 Java Mail API 是一个用于发送与接收电子邮件的标准 Java 库,支持多种协议如 SMTP (Simple Mail Transfer Protocol) 和 POP3 (Post Office Protocol version 3) ...
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和操作邮件。这个API提供了广泛的协议支持,包括SMTP(简单邮件传输协议)用于发送邮件,POP3和IMAP4用于接收邮件。在Java Mail中,...
利用Java mail发送邮件,用到的一些类,一些方法,写的很简陋
要使用Java Mail发送邮件,首先需要添加相应的依赖库到项目中。对于Android项目,通常会通过Gradle来引入。 1. 添加依赖: 在项目的build.gradle文件中,添加以下依赖: ```groovy dependencies { ...
下面我们将详细探讨Java Mail发送邮件脚本的核心知识点,以及在实际操作中可能需要的Jar包。 1. **JavaMail API**:JavaMail API是Java中处理电子邮件的标准库,由JavaMail项目维护。它提供了一系列接口和类,包括`...
JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送、接收和其他相关任务。它提供了对各种邮件协议(如 SMTP、POP3 和 IMAP)的支持,并且可以与 MIME 格式的邮件内容配合使用,允许发送包含附件、HTML 内容等...
这个“java mail 发邮件 demo程序”是为了演示如何使用JavaMail API发送电子邮件而创建的一个简单示例。在这个DEMO程序中,我们将深入探讨JavaMail API的核心概念以及如何构建一个实际的邮件发送功能。 首先,...
这个标题“Java mail发送邮件(源代码带注释)”表明我们将讨论如何使用JavaMail API来实现电子邮件的发送功能。描述提到,通过简单的赋值和测试,我们可以快速实现邮件发送,这表明提供的源代码应该是一个易于理解且...
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。这个源码可能包含了一套完整的解决方案,可以与多种邮局(如Gmail, Yahoo, Hotmail等)进行交互,并且支持单个收件人和...
Java Mail 是一个强大的开源API,用于处理电子邮件的发送和接收。这个API允许开发者在Java应用程序中集成邮件功能,包括SMTP(简单邮件传输协议)和POP3(邮局协议第三版)等邮件服务协议。本教程将详细介绍如何使用...
以下是一个简单的Java Mail发送邮件的示例代码: ```java import javax.mail.*; import javax.mail.internet.*; public class EmailSender { public static void main(String[] args) throws Exception { // ...
要使用Java Mail发送QQ邮件,首先需要在QQ邮箱设置中开启“POP3/SMTP/IMAP”服务,并获取授权码。授权码是QQ邮箱为第三方应用提供的一种安全验证方式,不同于普通密码。 ### 3. 添加依赖 在Java项目中,我们需要...
Java Mail邮件发送是Java开发中常见的一项功能,用于在应用程序中发送电子邮件。Java Mail API提供了一个标准的接口,使得开发者可以方便地实现SMTP(简单邮件传输协议)和其他邮件协议的功能。下面将详细介绍Java ...
下面是一个简化的Java Mail发送邮件的步骤,展示了一些关键API的使用: 1. 引入Java Mail依赖:首先确保项目中包含了Java Mail的相关库,通常通过Maven或Gradle等构建工具添加依赖。 2. 创建Properties对象:设置...