java接收邮件代码_Android Java使用JavaMail API发送和接收邮件的代码示例

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.DataSource;

import javax.activation.FileDataSource;

import javax.mail.Authenticator;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.Message.RecipientType;

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;/**

*

* @author Administrator Mr XP.Wang

* MimeMultipart 一般电子邮件的容器是Multipart,定义了增加及删除电子邮件各部分内容的方法,

* 但是其是抽象类,需要其子类MimeMultipart来时用MimeMessage对象

* MimeBodyPart 是BodyPart具体用于mimeMessage的一个子类,MimeBodyPart对象代表一个

* mimeMultipart对象的每一个部分

* MimeUtility.encodeText(String cn)用于解决邮件中的头部信息中中文的乱码问题

**/

public classDemo3_test {public static voidmain(String[] args) throws Exception {

Properties properties= newProperties();

properties.setProperty("mail.smtp.auth", "true");//服务器需要认证

properties.setProperty("mail.transport.protocol", "smtp");//声明发送邮件使用的端口

properties.setProperty("mail.host", "smtp.126.com");//发送邮件的服务器地址

Session session= Session.getInstance(properties, newAuthenticator() {

String sendUserName= "wangxiangpan@126.com";

String sendPassword= "pwd";protectedPasswordAuthentication getPasswordAuthentication() {return newPasswordAuthentication(sendUserName,

sendPassword);

}

});

session.setDebug(true);

MimeMessage msg= new MimeMessage(session);//声明一个邮件体

msg.setFrom(new InternetAddress("/""+MimeUtility.encodeText("Mr XP.Wang")+"/""));

msg.setSubject("这是我的第一份复杂邮件");//设置邮件主题

msg.setRecipients(MimeMessage.RecipientType.TO, InternetAddress.parse(MimeUtility.encodeText("王翔攀")+","+MimeUtility.encodeText("三毛")+"<492134880@qq.com>"));

MimeMultipart msgMultipart= new MimeMultipart("mixed");//标明邮件的组合关系,混合的关系

msg.setContent(msgMultipart);//设置邮件体

MimeBodyPart attch1= new MimeBodyPart();//附件1

MimeBodyPart attch2 = new MimeBodyPart();//附件2

MimeBodyPart content = new MimeBodyPart();//邮件的正文,混合体(图片+文字)//将附件和正文设置到这个邮件体中

msgMultipart.addBodyPart(attch1);

msgMultipart.addBodyPart(attch2);

msgMultipart.addBodyPart(content);//设置第一个附件

DataSource ds1 = new FileDataSource("F:/ACCP5.0/文件/ssh配置.txt");//指定附件的数据源

DataHandler dh1 = new DataHandler(ds1);//附件的信息

attch1.setDataHandler(dh1);//指定附件

attch1.setFileName("ssh.txt");//设置第二个附件

DataSource ds2 = new FileDataSource("resource/48.jpg");//指定附件的数据源

DataHandler dh2 = new DataHandler(ds2);//附件的信息

attch2.setDataHandler(dh2);//指定附件

attch2.setFileName("48.jpg");//设置邮件的正文

MimeMultipart bodyMultipart = new MimeMultipart("related");//依赖关系

content.setContent(bodyMultipart);//指定正文

MimeBodyPart htmlPart = newMimeBodyPart();

MimeBodyPart gifPart= newMimeBodyPart();

bodyMultipart.addBodyPart(htmlPart);

bodyMultipart.addBodyPart(gifPart);

DataSource gifds= new FileDataSource("resource/48.jpg");//正文的图片

DataHandler gifdh = newDataHandler(gifds);

gifPart.setHeader("Content-Location", "http://mimg.126.net/logo/126logo.gif");

gifPart.setDataHandler(gifdh);//设置正文的图片

htmlPart.setContent("我只是来打酱油的,这是我的形象照!", "text/html;charset=gbk");//设置正文文字

msg.saveChanges();//保存邮件//将邮件保存成文件

OutputStream ops = new FileOutputStream("C:/Users/Administrator/Desktop/test.eml");

msg.writeTo(ops);

ops.close();

Transport.send(msg);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值