package mail;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.NoSuchProviderException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Store;
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 javax.mail.internet.MimeUtility;
import javax.mail.internet.MimeMessage.RecipientType;
/*******************************************************************************
* @author hanwesley java Mail exaple
*/
public class Email {
private static String context;
public void setContext(String context) {
this.context = context;
}
public static String getContext() {
return context;
}
public ArrayList<MimeBodyPart> getAttachmentMultipart(String[] ss)
throws Exception {
ArrayList<MimeBodyPart> parts = null;
if (ss != null && ss.length > 0) {
int filesize = 0;
for (String s : ss) {
File f = new File(s);
filesize += f.length();
if (filesize > 1 * 1024 * 1024) {
throw new Exception("attarch maxed!");
}
parts = new ArrayList<MimeBodyPart>();
for (int i = 0; i < ss.length; i++) {
MimeBodyPart mbp = new MimeBodyPart();
FileDataSource fds = new FileDataSource(ss[i]);
mbp.setDataHandler(new DataHandler(fds));
mbp.setFileName(MimeUtility.encodeText(fds.getName(),
"GB2312", "B"));
parts.add(mbp);
}
}
}
return parts;
}
public Session getSession() {
Properties prop = new Properties();
prop.put("mail.transport.protocol", "smtp");
prop.put("mail.smtp.host", "smtp.163.com");
prop.put("mail.smtp.port", 25);
prop.put("mail.from", "hantx@163.com");
prop.put("mail.smtp.auth", "true");
Session session = null;// JavaMail核心类 一个会话
session = Session.getDefaultInstance(prop, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("hantx@163.com",
"123456");
}
});
// session=Session.getDefaultInstance(prop,null);
session.setDebug(true);
return session;
}
public void sendMessage(Message msg) throws Exception {
Transport transport = getSession().getTransport();
try {
// msg.setc
transport.connect();
// transport.connect("smtp.163.com", 25,
// "hantx@163.com","123456");
transport.send(msg);
} catch (MessagingException e) {
e.printStackTrace();
} finally {
try {
transport.close();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
public void receiveMessage() throws Exception{
Session session=getSession();
Store store=session.getStore("pop3");
store.connect("pop.163.com", "hantx@163.com", "123456");
Folder inbox=store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
Message msg=inbox.getMessage(1);
System.out.println(msg.getSubject());
}
public void testSendMessager() throws Exception {
Session session = getSession();
Message msg = new MimeMessage(session);
msg.setFrom();
msg.setSubject("hello,world");
String s = "hanwesley@163.com,hantx@163.com";
msg.setRecipients(RecipientType.TO, InternetAddress.parse(s));
msg.setRecipient(RecipientType.CC, new InternetAddress(
"hanwesley@gmail.com"));
// msg.setText("");
msg.setSentDate(new Date());
String[] arr = new String[] { "d:\\two.txt" };
Multipart mp = new MimeMultipart("mixed");
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent("it's a JavaMail example!<br/>hehe",
"text/html;charset=GB2312");
mp.addBodyPart(mbp);
ArrayList<MimeBodyPart> mbparr = getAttachmentMultipart(arr);
for (MimeBodyPart mb : mbparr) {
mp.addBodyPart(mb);
}
msg.setContent(mp);
sendMessage(msg);
}
public static void main(String[] args) throws Exception {
Email email = new Email();
email.receiveMessage();
}
}
分享到:
相关推荐
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...
JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API
### JavaMail收发Gmail邮件知识点详解 #### 一、JavaMail简介 JavaMail API是Java平台中的一个标准扩展库,用于发送、接收以及管理电子邮件。它提供了丰富的接口来实现邮件的各种操作,如构建复杂的MIME消息、处理...
JavaMail 是一个强大的开源库,专门用于在Java应用程序中实现电子邮件的发送和接收。它支持多种邮件协议,如SMTP(简单邮件传输协议)用于发送邮件,IMAP(因特网消息访问协议)和POP3(邮局协议)用于接收邮件。在...
这个简单的JavaMail程序包含了收发邮件的基本功能,对于理解JavaMail的工作原理和使用方法非常有帮助。 首先,让我们从发送邮件的部分开始。在JavaMail中,发送邮件的核心类是`javax.mail.Session`和`javax.mail....
通过深入理解SMTP和POP3等邮件传输协议,设计出一个简化操作、实用性强的系统,使用户能快速收发邮件,不受时间和地点限制。 1.2 国外发展趋势和现状 电子邮件作为互联网基础服务,全球用户基数庞大,中国也不例外...
JavaMail 是一个强大的开源库,用于在Java应用程序中处理电子邮件。它支持多种协议,包括POP3、IMAP和SMTP,这些协议分别用于接收、检索和发送邮件。在使用JavaMail时,了解如何进行加密和非加密通信对于确保数据...
(Java毕业设计)基于Javamail的邮件收发系统(Java毕业设计)基于Javamail的邮件收发系统(Java毕业设计)基于Javamail的邮件收发系统(Java毕业设计)基于Javamail的邮件收发系统(Java毕业设计)基于Javamail的邮件收发系统...
总的来说,JavaMail为Java开发者提供了一个强大的工具,使得收发邮件变得简单。无论是发送简单的文本邮件,还是构建包含多媒体内容的复杂邮件,或者从邮件服务器接收邮件,JavaMail都能胜任。通过合理利用activation...
### JavaMail 1.3 收发邮件开发教程知识点概览 #### 一、JavaMail API简介 **JavaMail API** 是由SUN公司(现已被Oracle收购)为Java开发者提供的一个公共API框架,用于在Java应用中实现电子邮件功能的支持。它的...
基于Javamail的邮件收发系统是一款简单、方便、快捷的邮件系统。它能实现邮件的接收与发送,并能...进入该系统后,首先选择“POP3/SMTP设置”按钮,对收发邮件所需的邮件服务器主机、收发邮件账号及密码信息进行设置。
javamail收发邮件(带附件,正文带图).doc
JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。这个库提供了一组丰富的 API,使得开发者能够方便地在 Java 应用程序中实现邮件功能。JavaMail 支持 SMTP、POP3 和 IMAP 协议,涵盖了电子邮件处理的...
**基于Javamail的邮件收发系统** JavaMail是一个开放源码的API,它为Java程序员提供了一套全面的接口来处理电子邮件。这个系统的设计目的是使得开发者能够方便地发送和接收邮件,包括附件、HTML内容以及MIME多部分...
本系统利用SMTP协议和POP协议从底层进行开发,利用JavaMail API为收发邮件提供与协议无关的访问。SMTP(简单邮件传输协议)是专门用来发送邮件的。POP(邮局协议)是专门用于接收邮件的。JavaMail API是一种可选的、...
使用 JavaMail 包收发中文邮件的编码、解码问题以及解决方法 使用 JavaMail 包收发中文邮件时,需要考虑编码和解码的问题。在发送中文邮件时,邮件头需要进行编码,使其只包含 US-ASCII 字符。 JavaMail 包提供了 ...
在实际开发中,使用 JavaMail 进行邮件收发的步骤大致如下: 1. 创建 Session 对象,配置邮件服务器的相关信息。 2. 使用 Session 创建 Store 对象,连接到邮件服务器。 3. 打开 Folder,读取或管理邮件。 4. 如果...
本系统利用SMTP协议和POP协议从底层进行开发,利用JavaMail API为收发邮件提供与协议无关的访问。SMTP(简单邮件传输协议)是专门用来发送邮件的。POP(邮局协议)是专门用于接收邮件的。JavaMail API是一种可选的、...
JavaMail 是一个强大的开源类库,用于在Java应用程序中实现电子邮件的发送和接收。它提供了对SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等标准的全面支持,使得开发者可以方便地进行...
在提供的压缩包文件“james+javaMail收发邮件”中,可能包含了示例代码和配置文件,供开发者参考和学习如何在实际项目中实现邮件收发功能,特别是处理中文内容和附件。通过理解和实践这些示例,开发者可以更好地掌握...