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 = 0i <messages.lengthi++) {
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 = 0j <a.lengthj++) {
System.out.println("送信人: " + MimeUtility.decodeText(a[j].toString()))
}
}
if ((a = m.getRecipients(Message.RecipientType.TO))!=null) {
for (int j = 0j <a.lengthj++) {
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/
用mail.jar包import java.util.Date
import javax.mail.Authenticator
import javax.mail.PasswordAuthentication
import java.util.Properties
import javax.activation.DataHandler
import javax.activation.DataSource
import javax.activation.FileDataSource
import javax.mail.Address
import javax.mail.BodyPart
import javax.mail.Message
import javax.mail.MessagingException
import javax.mail.Multipart
import javax.mail.Session
import javax.mail.Transport
import javax.mail.internet.InternetAddress
import javax.mail.internet.MimeBodyPart
import javax.mail.internet.MimeMessage
import javax.mail.internet.MimeMultipart