package com.hygj.mail;
import java.io.IOException;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Store;
/**
* <p>Title:</p>
* <p>Description:</p>
* <p>Copyright:Copyright(c)2009</p>
* <p>Company:华育国际教育集团-济南分校-软件工厂</p>
* <p>Created By:ZhangKe</p>
* <p>First Created:2009-6-5</p>
* @author: <a href="mailto:jasonyp@126.com">ZhangKe</a>
* @version: 1.0
*
*/
public class POP3Mail {
private String host = "";
private String username = "";
private String password = "";
private boolean auth = false;
private int allmailcount = 0;
private int noreadcount = 0;
private int newcount = 0;
public boolean receiveMail(){
boolean isreceive = false;
try {
//1.创建会话
Properties properties = new Properties();
properties.put("mail.pop3.host",host);
properties.put("mail.pop3.auth",String.valueOf(auth));
Session session = Session.getDefaultInstance(properties,new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,password);
}
});
//2.连接pop3服务器
Store store = session.getStore("pop3");
store.connect();
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
//3.收取邮件
Message [] mail = folder.getMessages();
//所有邮件个数
setAllmailcount(folder.getMessageCount());
setNewcount(folder.getNewMessageCount());
setNoreadcount(folder.getUnreadMessageCount());
System.out.println("邮件主题:"+mail[0].getSubject());
System.out.println("邮件内容:"+mail[0].getContent());
// mail[0].getInputStream()
System.out.println("邮件类型:"+mail[0].getContentType());
//4.保存邮件到本地
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return isreceive;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
POP3Mail mail = new POP3Mail();
mail.setHost("pop3.126.com");
mail.setUsername("jasonyp");
mail.setPassword("qaz123");
mail.setAuth(true);
mail.receiveMail();
}
public int getAllmailcount() {
return allmailcount;
}
public void setAllmailcount(int allmailcount) {
this.allmailcount = allmailcount;
}
public boolean isAuth() {
return auth;
}
public void setAuth(boolean auth) {
this.auth = auth;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public int getNewcount() {
return newcount;
}
public void setNewcount(int newcount) {
this.newcount = newcount;
}
public int getNoreadcount() {
return noreadcount;
}
public void setNoreadcount(int noreadcount) {
this.noreadcount = noreadcount;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
分享到:
相关推荐
`MailTemplateHelper`可能会提供一个方法,接受模板文件名、参数对象等,返回填充后的HTML字符串。`TemplateMailMessage`可能是一个扩展了`MimeMessage`的类,用于更方便地处理模板邮件的构建。 总结来说,发送带有...
JavaMail 是一个强大的开源库,它为Java程序员提供了一种标准API来处理电子邮件的发送、接收、回复和转发等操作。这个库支持多种邮件协议,包括SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问...
`MimeMessage` 对象的 `setContent()` 方法接受 `Multipart` 对象,从而将所有部分组合成一封完整的邮件。 `activation` 标签可能是指JavaBeans Activation Framework(JAF),这是JavaMail的一个组成部分,用于...
接受邮件主要涉及`Store`和`Folder`类。`Store`类用于连接邮件服务器并获取邮件,而`Folder`类代表邮箱中的文件夹,如“收件箱”、“已发送”等。 以下是接收邮件的一般流程: 1. 创建`Properties`对象,设置IMAP...
JavaMail是一种开源的Java库,它允许开发人员在Java应用程序中发送和接收电子邮件。IMAP(Internet Message Access Protocol)是一种标准的邮件访问协议,用于从邮件服务器检索邮件。Exchange 2007是微软的企业级...
产品可行性分析考虑了技术实现、市场接受度和成本效益。 3.3.1 功能设计 - 登录功能:用户输入用户名和密码进行身份验证。 - 发送邮件:用户填写收件人、主题和内容,选择附件后发送。 - 接收邮件:系统定期检查新...
(3) 邮件附件的发送与接受; (4) 删除邮件; 具体操作步骤如下: 1、打开javamailsystem文件夹,找到javamail.jar可执行文件,双击该执行文件,即可打开Javamail邮件收发系统客户端软件。进入该系统后,首先选择...
它使用了`getRecipients(Message.RecipientType type)`方法,该方法接受一个`RecipientType`枚举值作为参数,可以是`TO`、`CC`或`BCC`,并返回对应的互联网地址数组。 除了这些,我们还可以看到类中有一个`...
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
`sendMail`可能是这样一个工具类的名称,它接受必要的参数(如邮件内容、收件人列表等),并调用上述步骤来发送邮件。 JavaMail 还支持其他特性,如SSL/TLS加密、IMAP(互联网消息访问协议)用于接收邮件,以及使用...
这通常意味着服务器不理解或不接受发送的命令。让我们详细分析一下代码并探讨可能的解决方案: 1. **配置属性**:在类的构造函数中,我们看到代码正确地设置了 IMAP 相关的属性,如协议类型、主机名、端口号等。...
JavaMail是一种在Java环境中处理电子邮件的标准API,它允许开发者创建、发送、接收和管理电子邮件。本项目基于JavaMail开发了一个简易的邮箱客户端,提供了一系列基本的邮件操作功能,包括: 1. **邮件发送**:使用...
初学javamail的时候,弄了好久都没成功的例子,现在成功了和大家分享下,希望对刚入门的朋友有所帮助。本例是用qq邮箱运行的,所以发送端的邮箱smtp服务必须开启,接受端无需任何设置!导入成功后,直接运行...
MimeMessage类可以设置MimeBodyPart对象作为邮件的正文,其中MimeBodyPart的setContent()方法可以接受字符串或MimeMultipart对象,后者用于组合多个部分,如文本和HTML。 三、发送图片和文件 1. 内嵌资源:如果希望...
"JavaMail多人发送电子邮件" JavaMail是一种常用的Java邮件处理库,通过使用JavaMail,可以轻松地发送电子邮件。在实际应用中,经常需要发送电子邮件给多个收件人,本文将介绍如何使用JavaMail实现给多人发送电子...
邮件服务器是提供电子邮件功能的专门服务器,它有三个主要功能:接收用户投递的信件,将用户投递的邮件装发给目标邮件服务器,并接受其他邮件服务器转发来的邮件,并把邮件存储到其管理的用户邮箱中。邮件服务器分为...
6. **send 方法**:此方法接受收件人邮箱地址、主题和正文作为参数,创建并发送邮件。首先,使用 `MimeUtility.encodeText()` 对发件人的昵称进行编码以支持非 ASCII 字符。然后,创建 `MimeMessage` 对象并设置发件...
基于Javamail的邮件收发系统是一款简单、方便、快捷的邮件系统。它能实现邮件的接收与发送,并能完成附件的传输,具有较好的人机交互性,易于使用。 开发环境:JDK1.6 + ...(3) 邮件附件的发送与接受; (4) 删除邮件
对于从 JSP 传递的多个邮件地址,你可以修改 `scheduleEmail` 方法以接受 List<String> 类型的邮件地址列表,并遍历这个列表,对每个地址分别调用 `sendEmail` 方法。 关于日志部分,文章中提到的日志类 Logs 使用...