javamail
来源:互联网 发布:java\t是什么意思啊 编辑:程序博客网 时间:2024/05/08 13:58
public class MailHandle {
public static void sendMail(String host, final String userName, final String password) {
Properties pro = new Properties();
pro.setProperty("mail.smtp.host", host);
pro.setProperty("mail.smtp.auth", "true");
pro.setProperty("mail.smtp.port", "25");
Authenticator auth = new Authenticator() {
protected PasswordAuthenticationgetPasswordAuthentication() {
return new PasswordAuthentication(userName,password);
}
};
Session session = Session.getDefaultInstance(pro,auth);
Message message = new MimeMessage(session);
try {
Address from = new InternetAddress("admin@edpgc.com");
message.setFrom(from);
Address to = new InternetAddress("test@edpgc.com");
message.setRecipient(RecipientType.TO, to);
message.setSubject("测试中文乱码吗");
message.setText("内容能否显示");
message.setSentDate(new Date());
Transport.send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
publicstatic void getMail(String host, String userName, String password){
Properties props = new Properties();
props.setProperty("mail.pop3.host", host);
Session session =Session.getDefaultInstance(props);
try {
Store store = session.getStore("pop3");
store.connect(userName, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();
System.out.println(messages.length);
for(int i = 0, len = messages.length; i < len;i++) {
System.out.println(getFrom(messages[i]));
System.out.println(getSubject(messages[i]));
System.out.println(getContent(messages[i]));
System.out.println();
}
folder.close(false);
store.close();
} catch (Exception e) {
e.printStackTrace();
}
}
publicstatic String getFrom(Message message) throws MessagingException{
InternetAddress addr = (InternetAddress)message.getFrom()[0];
String personal = addr.getPersonal();
String address = "<" + addr.getAddress() +">";
if(null == personal) {
personal =addr.getAddress().substring(0,addr.getAddress().indexOf('@'));
}
return personal + address;
}
publicstatic String getSubject(Message message) throws MessagingException{
return message.getSubject();
}
publicstatic String getContent(Part part) throws Exception {
if(part.isMimeType("text/plain") ||part.isMimeType("text/plain")) {
return part.getContent().toString();
} else if(part.isMimeType("multipart/*")) {
Part t = null;
Multipart mul =(Multipart)part.getContent();
int n = mul.getCount();
for(int i = 0; i < n; i++) {
Part p = mul.getBodyPart(i);
String des = p.getDisposition();
if((null != des) &&(des.equals(Part.ATTACHMENT) || des.equals(Part.INLINE))){
String filename = p.getFileName();
filename=javax.mail.internet.MimeUtility.decodeText(filename);
System.out.println(filename);
File f = new File("/test/"+filename);
BASE64DecoderStream b =(BASE64DecoderStream)p.getContent();
DataOutputStream out = new DataOutputStream(newFileOutputStream(f));
byte[] data = new byte[b.available()];
b.read(data);
out.write(data);
out.close();
} else if(des == null) {
t = p;
}
}
return getContent(t);
}
return "";
}
publicstatic void main(String[] args) {
//sendMail("localhost", "admin", "qwe123");
//getMail("localhost","test","123456");
//getMail("pop3.163.com", "******","******");
}
}
public static void sendMail(String host, final String userName, final String password) {
Properties pro = new Properties();
pro.setProperty("mail.smtp.host", host);
pro.setProperty("mail.smtp.auth", "true");
pro.setProperty("mail.smtp.port", "25");
Authenticator auth = new Authenticator() {
protected PasswordAuthenticationgetPasswordAuthentication() {
return new PasswordAuthentication(userName,password);
}
};
Session session = Session.getDefaultInstance(pro,auth);
Message message = new MimeMessage(session);
try {
Address from = new InternetAddress("admin@edpgc.com");
message.setFrom(from);
Address to = new InternetAddress("test@edpgc.com");
message.setRecipient(RecipientType.TO, to);
message.setSubject("测试中文乱码吗");
message.setText("内容能否显示");
message.setSentDate(new Date());
Transport.send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
publicstatic void getMail(String host, String userName, String password){
Properties props = new Properties();
props.setProperty("mail.pop3.host", host);
Session session =Session.getDefaultInstance(props);
try {
Store store = session.getStore("pop3");
store.connect(userName, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();
System.out.println(messages.length);
for(int i = 0, len = messages.length; i < len;i++) {
System.out.println(getFrom(messages[i]));
System.out.println(getSubject(messages[i]));
System.out.println(getContent(messages[i]));
System.out.println();
}
folder.close(false);
store.close();
} catch (Exception e) {
e.printStackTrace();
}
}
publicstatic String getFrom(Message message) throws MessagingException{
InternetAddress addr = (InternetAddress)message.getFrom()[0];
String personal = addr.getPersonal();
String address = "<" + addr.getAddress() +">";
if(null == personal) {
personal =addr.getAddress().substring(0,addr.getAddress().indexOf('@'));
}
return personal + address;
}
publicstatic String getSubject(Message message) throws MessagingException{
return message.getSubject();
}
publicstatic String getContent(Part part) throws Exception {
if(part.isMimeType("text/plain") ||part.isMimeType("text/plain")) {
return part.getContent().toString();
} else if(part.isMimeType("multipart/*")) {
Part t = null;
Multipart mul =(Multipart)part.getContent();
int n = mul.getCount();
for(int i = 0; i < n; i++) {
Part p = mul.getBodyPart(i);
String des = p.getDisposition();
if((null != des) &&(des.equals(Part.ATTACHMENT) || des.equals(Part.INLINE))){
String filename = p.getFileName();
filename=javax.mail.internet.MimeUtility.decodeText(filename);
System.out.println(filename);
File f = new File("/test/"+filename);
BASE64DecoderStream b =(BASE64DecoderStream)p.getContent();
DataOutputStream out = new DataOutputStream(newFileOutputStream(f));
byte[] data = new byte[b.available()];
b.read(data);
out.write(data);
out.close();
} else if(des == null) {
t = p;
}
}
return getContent(t);
}
return "";
}
publicstatic void main(String[] args) {
//sendMail("localhost", "admin", "qwe123");
//getMail("localhost","test","123456");
//getMail("pop3.163.com", "******","******");
}
}
0 0
- JavaMail
- JavaMail
- javaMail
- JavaMail
- javamail
- javamail
- javamail
- JAVAMAIL
- javamail
- JavaMail
- JAVAMail
- JavaMail
- javaMail
- javamail
- JavaMail
- javaMail
- javamail
- JavaMail
- android适配各种分辨率的问题
- md5加密(java 代码实现)
- Matlab仿真AF-MIMO-Relay笔记
- Linux内核空间
- 接口的理解(菜鸟借鉴)--很有趣的比喻
- javamail
- java 使用axis实现WebServise简单方法
- 你,WiFi,夏天
- 二极管 在低温下 压降 很大
- 【华为oj2065】输出单向链表倒数第k个节点
- linux性能问题(CPU,内存,磁盘I/O,网络)
- ubuntu svn
- 对ASIHTTPRequest的封装
- linux内核同步之信号量、顺序锁、RCU、完成量、关闭中断 .