- 浏览: 585126 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
smilezhouwei:
请问CruiseControl在加载jar包时,由于jar包过 ...
修改CruiseControl的端口 -
zengxuefei:
不起作用啊,有bug
Flex+Java多文件上传 -
lzeus:
模仿的tomcat源码吧?
java事件处理机制(自定义事件)【转】 -
yangbobestone:
...
FreeMarker整合Struts2 -
fddjxllren:
那是因为你没配置事务,楼主的那个主要是针对事务的写法
Spring2.5+JUnit4单元测试
package test;
import java.io.File;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Multipart;
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;
import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;
public class MailSenderImpl {
private static final org.apache.log4j.Logger LOG = Logger.getLogger(MailSenderImpl.class);
private Session session;
private Transport transport;
public void init() throws Exception{
this.session = Session.getDefaultInstance(new Properties(), null);
this.transport = session.getTransport("smtp");
this.transport.connect("219.145.110.51", "sendmail@mail.163.com", "123456");
}
public boolean send(String subject, String content, String target){
try{
System.setProperty("mail.smtp.auth","true");
MimeMessage message =new MimeMessage(session);
/** 发送人地址 */
Address fromAddress = new InternetAddress("sendmail@mail.163.com");
message.setFrom(fromAddress);
message.setReplyTo(new Address[]{fromAddress});
/** 收件人地址 */
Address toAddress = new InternetAddress(target);
message.addRecipient(Message.RecipientType.TO, toAddress);
/** 邮件主题 */
sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
message.setSubject("=?GB2312?B?"+enc.encode(subject.getBytes())+"?=");
MimeBodyPart messageBodyPart =new MimeBodyPart();
/** 邮件文本内容 */
// messageBodyPart.setText("Hi");//邮件正文内容
/** 要发送附件的位置 */
String fileAttachment = "D:/workDoc/iof_8888.xml";
/** 邮件引入其它文件内容 */
DataSource fds = new javax.mail.util.ByteArrayDataSource(content.getBytes(),"text/html");
messageBodyPart.setDataHandler(new DataHandler(fds));
/** 邮件附件 */
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
DataSource source =new FileDataSource(fileAttachment);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(fileAttachment);
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
message.saveChanges();
transport.sendMessage(message, message.getAllRecipients());
/** 以下为不带附件的写法 */
// MimeMessage message = new MimeMessage(session);
//
// Address fromAddress = new InternetAddress("sendmail@mail.yimei.com");
// message.setFrom(fromAddress);
// message.setReplyTo(new Address[]{fromAddress});
//
// Address toAddress = new InternetAddress(target);//gj@yimei.com
// message.addRecipient(Message.RecipientType.TO, toAddress);
//
// sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
// message.setSubject("=?GB2312?B?"+enc.encode(subject.getBytes())+"?=");
//
// DataSource fds = new javax.mail.util.ByteArrayDataSource(content.getBytes(),"text/html");
// message.setDataHandler(new DataHandler(fds));
//
// transport.sendMessage(message, message.getAllRecipients());
return true;
}catch(Exception e){
LOG.error(e.getMessage(),e);
}
return false;
}
public void close(){
try{
transport.close();
}catch(Exception e){
}
}
public static void main(String[] args) throws Exception{
long start = System.currentTimeMillis();
String[] targets = new String[]{"zj@yimei.com","zj@yimei.com","zj@yimei.com","zj@yimei.com","zmfkplj@163.com","zmfkplj@126.com"};
MailSenderImpl sender = new MailSenderImpl();
sender.init();
for(String target:targets){
sender.send("测试邮件", FileUtils.readFileToString(new File("D:/workDoc/index.html")), target);
}
sender.close();
long end = System.currentTimeMillis();
System.out.println("elapse time: "+(end-start));
}
}
发表评论
-
Java枚举使用
2010-06-07 10:57 1163Java枚举使用 public class MyT ... -
在ssh、telnet断开之后继续执行程序
2010-05-28 13:54 6334在ssh、telnet断开之后继 ... -
Resin Web容器下服务初始化了两次
2010-05-26 10:01 3621Resin Web容器下服务初始化了两次: 问题描 ... -
java事件处理机制(自定义事件)【转】
2010-04-01 09:52 10207java事件处理机制(自 ... -
配置多个事务
2010-03-22 12:02 920有关配置多个数据源及事务管理时要注意在执行操作时要指明事务 ... -
Java缩放生成新的图片
2009-10-14 11:31 1296缩放生成新的图片,需要附件中的gif4j.jar支持 ... -
用Rome解析RSS
2009-09-03 13:58 7512用Rome解析Rss的例子 需要的jar包 ... -
Java 注解(Annotation)
2009-08-14 12:04 1269注解(Annotation) 为我们在代码中天界信息提供了一 ... -
Java类中数据以JSON格式输出结果
2009-06-17 10:16 14496/** * 以格式输出结果 * ... -
JAVA字符串转日期或日期转字符串
2009-06-10 16:31 1305文章中,用的API是SimpleDateFormat,它 ... -
Java中读写Properties文件的工具类
2009-05-26 14:05 12208package com.common.util; imp ... -
通过Java反射调用方法
2009-05-25 13:59 1815通过Java反射调用方法 这是个测试用的例子,通过反射 ... -
Java中对数据库的事务控制
2009-04-03 09:40 1302try{ conn.setAutoCommit(false ... -
Cookie管理
2009-04-03 09:39 1071package com.yimei.util; import ... -
Servlet中输出为XML工具类
2009-03-11 15:54 1208在工具类中定义如下方法: protected void r ... -
Java中取sql语句中的列
2009-02-16 17:21 2309package com.test; import java.s ... -
Java反射
2009-02-13 03:27 1083package com.yimei.test; import ... -
HttpClient入门
2009-02-11 12:52 1991developerWorks 中国 > ... -
Java中的类反射
2009-01-15 11:36 1421一、反射的概念 : 反射的概念是由Smith在1982年首次提 ... -
Java序列化
2009-01-14 09:43 1149package test; import java.io.F ...
相关推荐
06 使用JavaMail发送带附件的邮件.exe06 使用JavaMail发送带附件的邮件.exe
下面将详细解释如何利用JavaMail发送带有附件的邮件。 首先,你需要导入以下关键的JavaMail和Java Activation Framework (JAF) 类: ```java import javax.mail.*; import javax.mail.internet.*; import javax....
在使用JavaMail发送邮件前,你需要在项目中引入相关的依赖包。在描述中提到的"javamail"可能是指JavaMail的jar包,这是进行邮件操作的基础。确保你的项目已包含以下两个关键的JavaMail库: 1. `javax.mail-api.jar`...
以上就是使用JavaMail发送文本、HTML和附件邮件的详细步骤。在实际应用中,还需要考虑错误处理、邮件格式验证、多线程发送等复杂情况。同时,对于企业级应用,通常会使用邮件服务提供商如SendGrid、Mailgun等,它们...
下面是一个简化的JavaMail发送邮件的过程: 1. **配置邮件会话**:首先,我们需要创建一个`Properties`对象,并设置SMTP服务器的相关参数,如主机名和端口号。然后,通过`Session.getInstance()`方法初始化一个邮件...
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
JavaMail邮件发送(带附件)
通过解析给定文件的标题、描述、标签及部分内容,我们可以深入探讨javamail发送与接收邮件的详细教程,以及如何利用JavaMail API实现邮件功能。 ### javamail发送、接收邮件 JavaMail API是由Sun Microsystems开发...
以上就是使用JavaMail发送带附件邮件的基本流程。需要注意的是,实际应用中可能还需要处理异常、超时和其他复杂情况。此外,对于大型附件或大量邮件,应考虑使用连接池和异步处理以提高性能。 在阅读和实现上述代码...
这个资源提供了一个具体的示例,展示了如何使用JavaMail API 来发送带有附件的邮件。以下是对这个主题的详细解释: 首先,你需要理解JavaMail的核心组件。`javax.mail` 和 `javax.mail.internet` 包含了发送邮件所...
下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...
下面是一个简单的JavaMail发送邮件的步骤: 1. **导入必要的库**:首先,在项目中导入`mail.jar`和`activation.jar`,确保编译和运行时能够访问到这些库。 2. **配置邮件会话**:创建一个`Properties`对象,设置...
这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...
JavaMail 是一个开源库,它提供了在Java应用程序中发送和接收电子邮件的标准API。这个源码示例是关于如何使用JavaMail来发送带有附件...这个源码示例是一个很好的起点,帮助开发者理解并应用JavaMail发送带附件的邮件。
JavaMail API 是一个用于发送、接收电子邮件的标准接口集合,它支持多种协议(如 SMTP、IMAP 和 POP3),使得 Java 应用程序能够轻松地发送和接收电子邮件。 #### 二、发送 HTML 格式的邮件 在实际应用中,经常需要...
总结一下,Java发送带有附件的邮件涉及到JavaMail API的使用,包括配置SMTP服务器、创建邮件对象、添加内容和附件,以及发送邮件等步骤。理解这些步骤和相关类的作用是实现此功能的关键。在处理不同类型的邮件时,...
总结来说,实现Oracle发送带附件的邮件涉及到JavaMail API、JSP编程、PL/SQL包的使用,以及对UTL_SMTP或Java存储过程的调用。通过这些技术,你可以构建一个灵活且强大的邮件系统,满足各种企业级的邮件通信需求。