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

Python019

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

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 = 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