用java写收发邮件的程序,求助,在线

如题所述

import java.util.Properties;
import java.util.Date;
import javax.mail.Session;
import javax.mail.Message;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;

public class HelloWorldJavaMail {
public static void main(String[] args) {
try {
Properties props = System.getProperties();
props.put("mail.smtp.host","xxx.xxx.xxx.xxx");
Session session=Session.getDefaultInstance(props,null);
MimeMessage mimeMessage=new MimeMessage(session);
mimeMessage.setFrom(new InternetAddress("[email protected]","姓名","gb2312"));
mimeMessage.setRecipients(Message.RecipientType.TO,"[email protected]");
mimeMessage.setSubject("Hello World JavaMail","gb2312");
mimeMessage.setText("<h1>Hello World JavaMail</h1>","gb2312");
mimeMessage.setHeader("Content-Type","text/html");
mimeMessage.setSentDate(new Date());
Transport.send(mimeMessage);
} catch (Exception e) {
e.printStackTrace();
}
}
}

2。收信
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

public class HelloWorldPOP {
public static void main(String args[]) {
try {
String host="xxx.xxx.xxx.xxx";
String user="xxxxxx";
String password="xxxxxx";

Session session = Session.getDefaultInstance(System.getProperties(), null);
Store store = session.getStore("pop3");
store.connect(host, -1, user, password);

Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);

int totalMessages = folder.getMessageCount();
if (totalMessages == 0) {
System.out.println("没有邮件");
folder.close(false);
store.close();
return;
}

Message[] messages = folder.getMessages();
for (int i = 0; i < messages.length; i++) {
showMessage(messages[i]);
}

folder.close(false);
store.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public static void showMessage(Message m) throws Exception {
Address[] a;
if ((a = m.getFrom())!=null) {
for (int j = 0; j < a.length; j++) {
System.out.println("送信人: " + MimeUtility.decodeText(a[j].toString()));
}
}

if ((a = m.getRecipients(Message.RecipientType.TO))!=null) {
for (int j = 0; j < a.length; j++) {
System.out.println("收信人: " + MimeUtility.decodeText(a[j].toString()));
}
}

System.out.println("主体: " + m.getSubject());
Date d = m.getSentDate();
System.out.println("日期: " + (d!= null ? d.toString() : "不明"));
System.out.println("大小: " + m.getSize());
System.out.println("内容:\n" + m.getContent());
}
}

用JAVAMAIL很容易实现的。

参照:
http://java.sun.com/products/javamail/
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-19
 界面自己写一下就可以了,把相关的参数传进去就可以了。 这个是我以前写的。用的javamail。 有main方法,测试一下自己的邮件,应该没问题的。希望可以帮到你。注意导入你需要的javamail.jar的包 -------------------------------------------------------------- package com.fourpane.mail; import java.util.Properties; import javax.mail.Address; import javax.mail.Flags; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; import javax.mail.Session; import javax.mail.Store; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class TestMail { public static void main(String[] args) { //TestMail.sendMail(); //TestMail.receiveMail(); TestMail.deleteMail(); } /** * send mail */ public static void sendMail() { String host = "smtp.sina.com";//邮件服务器 String from = "[email protected]";//发本回答被提问者采纳
相似回答