JAVA收发邮件


package org.sparon.email.send;

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class MailSender {
public final static boolean sendMail(String smtphost,String mailfrom,
boolean mailauth,String mailuser,String mailpassword,
String mailto,String mailcc,String mailsubject,
String mailmessage,String mailattach)
{

/*
* smtphost: smtp.163.com smtp.126.com 设置系统属性
* mailfron: 发送邮件的邮箱地址
* mailto: 接受邮件的邮箱地址
* mailcc: 抄送人邮箱地址
* mailauth: true 设置smtp身份认证:mail.smtp.auth = true
* mailuser: 接受邮件的邮箱用户名
* mailpassword: 接受邮件的邮箱密码
* mailsubject: 邮件的主题
* mailmessage: 邮件的内容
* mailattach:发送附件的文件名,在本地机器上的绝对地址
*/
//MIME邮件对象
MimeMessage mimeMsg;
//Multipart对象,邮件内容,标题,附件等内容均添加到其中之后再生成//MimeMessage对象
MimeMultipart mp;
//邮件会话对象
Session session;
// String sep[]={";"};
//系统属性
Properties props=new java.util.Properties();
int i;

//设置SMTP主机
props.put("mail.smtp.host",smtphost);
try{
//获得邮件会话对象
session = Session.getDefaultInstance(props,null);

mimeMsg = new MimeMessage(session);
mp = new MimeMultipart();
if(mailauth)
props.put("mail.smtp.auth","true");
else
props.put("mail.smtp.auth","false");
System.out.println("Mail Host Address: "+smtphost);
}
catch(Exception e)
{
System.out.println(e.getMessage());
return false;
}
try
{
//设置发信人
mimeMsg.setFrom(new InternetAddress(mailfrom));
System.out.println("Mail From Address: "+mailfrom);
}
catch(Exception e)
{
System.out.println(e.getMessage());
return false;
}
try{
// java.util.Vector temp = WordsConvert.getWords(mailto,sep);
java.util.Vector temp=new java.util.Vector(1);
temp.add("wangbaoaiboy@163.com");
if (temp.size()==0)
{
System.out.println("Mail Target Address Requried.");
return false;
}
Address toaddress[] = new Address[temp.size()];
for(i=0;i<temp.size();i++)
toaddress[i]=InternetAddress.parse(temp.elementAt(i).toString())[0];
//设置收信人
mimeMsg.setRecipients(Message.RecipientType.TO,toaddress);
System.out.println("Mail To Address: "+mailto);
}
catch(Exception e)
{
System.out.println("Error Mail To,"+e);
return false;
}
if(mailcc != null && mailcc.length()>0)
{
try{
// java.util.Vector temp = WordsConvert.getWords(mailcc,sep);
java.util.Vector temp=new java.util.Vector(1);
temp.add("wangbaoaiboy@163.com");
if (temp.size()>0)
{
Address ccaddress[] = new Address[temp.size()];
for(i=0;i<temp.size();i++)
ccaddress[i]=InternetAddress.parse(temp.elementAt(i).toString())[0];
//设置附件发送到的地址
mimeMsg.setRecipients(Message.RecipientType.CC,ccaddress);
System.out.println("Mail Cc Address: "+mailcc);
}
}
catch(Exception e)
{
System.out.println(e.getMessage()+"hello........... mailcc");
return false;
}
}
try
{
mimeMsg.setSubject(mailsubject,"GB2312");
// 设置邮件体格式
BodyPart bp = new MimeBodyPart();
bp.setContent("<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+
mailmessage,"text/html;charset=GB2312");
mp.addBodyPart(bp);
}
catch(Exception e)
{
System.out.println(e.getMessage()+"dddddddddddd");
return false;
}
if(mailattach != null && mailattach.length()>0)
{
try{
// java.util.Vector temp = WordsConvert.getWords(mailattach,sep);
java.util.Vector temp=new java.util.Vector(1);
temp.add("c:\\b.txt");
//添加附件
for(i=0;i<temp.size();i++)
{
MimeBodyPart bp = new MimeBodyPart();
FileDataSource fileds = new FileDataSource(temp.elementAt(i).toString());
DataHandler dh = new DataHandler(fileds);
bp.setDisposition(Part.ATTACHMENT);
bp.setFileName(fileds.getName());
bp.setDataHandler(dh);
mp.addBodyPart(bp);
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
return false;
}
}
//真正的发送邮件
try{
mimeMsg.setContent(mp);
mimeMsg.saveChanges();
Session mailSession = Session.getInstance(props,null);
Transport transport = mailSession.getTransport("smtp");
transport.connect((String)props.get("mail.smtp.host"),mailuser,mailpassword);
transport.sendMessage(mimeMsg,mimeMsg.getAllRecipients());
System.out.println("Mail Successfully Sended!");
transport.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());;
return false ;
}
return true;
}
}




package org.sparon.email;

import javax.mail.Store;
import javax.mail.FetchProfile;
import java.util.Properties;
import javax.mail.Session;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.internet.InternetAddress;

public class EmailReceiver {
public static void main(String[] args) {
try {

Properties props = new Properties();
Session s = Session.getInstance(props);
Store store = s.getStore("pop3");
store.connect("pop.163.com", "bluebit_cn", "xiaohao");

Folder folder = store.getFolder("Inbox");
folder.open(Folder.READ_WRITE);

FetchProfile profile = new FetchProfile();
profile.add(FetchProfile.Item.ENVELOPE);
Message arraymessage[] = folder.getMessages();
folder.fetch(arraymessage, profile);

System.out.println("收件箱的邮件数:" + arraymessage.length);
for (int i = 0; i < arraymessage.length; i++) {
//邮件发送者
String from = arraymessage[i].getFrom()[0].toString();
InternetAddress ia = new InternetAddress(from);
System.out.println("FROM:" + ia.getPersonal() + '(' +
ia.getAddress() + ')');
//邮件标题
System.out.println("TITLE:" + arraymessage[i].getSubject());
//邮件大小
System.out.println("SIZE:" + arraymessage[i].getSize());
//邮件发送时间
System.out.println("DATE:" + arraymessage[i].getSentDate());
}

folder.close(false);
store.close();
} catch (Exception ee) {
ee.printStackTrace();
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值