当前位置: 技术问答>java相关
用java socket接收服务器中的邮件,哪位仁兄有代码。
来源: 互联网 发布时间:2015-07-31
本文导语: 用java socket接收服务器中的邮件,哪位仁兄有代码,给我一份,谢谢! | www.ibm.com.cn刚好有一篇介绍javamail的文章,什么都有例子。 http://www-900.ibm.com/developerWorks/cn/cnedu.nsf/java-onlinecourse-bytitle/97EB...
用java socket接收服务器中的邮件,哪位仁兄有代码,给我一份,谢谢!
|
www.ibm.com.cn刚好有一篇介绍javamail的文章,什么都有例子。
http://www-900.ibm.com/developerWorks/cn/cnedu.nsf/java-onlinecourse-bytitle/97EB905362396BEB48256AFC002D91A6?OpenDocument
http://www-900.ibm.com/developerWorks/cn/cnedu.nsf/java-onlinecourse-bytitle/97EB905362396BEB48256AFC002D91A6?OpenDocument
|
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
/**
* Utility class for sending e-mail message with attachment using the JavaMail API.
*
* @author Chad (shod) Darby, darby@j-nine.com
*/
public class QuickMailAttach {
/**
* Sends a e-mail message with an attachment
*
* @param smtpHost name of the SMTP mail server
* @param from e-mail address of the sender
* @param to e-mail address of the recipient
* @param subject subject of the e-mail message
* @param messageText the text of the message
* @param fileName the name of the file to attach
*
* @throws javax.mail.MessagingFormatException problems sending message
*/
public static void sendMessage(String smtpHost,
String from, String to,
String subject, String messageText,
String fileName)
throws MessagingException {
// Step 1: Configure the mail session
System.out.println("Configuring mail session for: " + smtpHost);
java.util.Properties props = new java.util.Properties();
props.put("mail.smtp.host", smtpHost);
Session mailSession = Session.getDefaultInstance(props);
// Step 2: Construct the message
System.out.println("Constructing message - from=" + from + " to=" + to);
InternetAddress fromAddress = new InternetAddress(from);
InternetAddress toAddress = new InternetAddress(to);
MimeMessage testMessage = new MimeMessage(mailSession);
testMessage.setFrom(fromAddress);
testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
testMessage.setSentDate(new java.util.Date());
testMessage.setSubject(subject);
// Step 3: Create a body part to hold the "text" portion of the message
System.out.println("Constructing 'text' body part");
MimeBodyPart textBodyPart = new MimeBodyPart();
textBodyPart.setText(messageText);
// Step 4: Create a body part to hold the "file" portion of the message
System.out.println("Attaching 'file' body part: " + fileName);
MimeBodyPart fileBodyPart = new MimeBodyPart();
FileDataSource fds = new FileDataSource(fileName);
fileBodyPart.setDataHandler(new DataHandler(fds));
fileBodyPart.setFileName(fds.getName());
System.out.println("Finished attaching file");
// Step 5: Create a Multipart/container and add the parts
Multipart container = new MimeMultipart();
container.addBodyPart(textBodyPart);
container.addBodyPart(fileBodyPart);
// Step 6: Add the Multipart to the actual message
testMessage.setContent(container);
System.out.println("Message constructed");
// Step 7: Now send the message
Transport.send(testMessage);
System.out.println("Message sent!");
}
public static void main(String[] args) {
if (args.length != 4) {
System.out.println("Usage: java QuickMailAttach ");
System.exit(1);
}
String smtpHost = args[0];
String from = args[1];
String to = args[2];
String fileName = args[3];
String subject = "Test Message - quickmail_attach";
StringBuffer theMessage = new StringBuffer();
theMessage.append("Hello,nn");
theMessage.append("Hope all is well.n");
theMessage.append("Cheers!");
try {
QuickMailAttach.sendMessage(smtpHost, from, to, subject, theMessage.toString(), fileName);
}
catch (javax.mail.MessagingException exc) {
exc.printStackTrace();
}
}
}
|
为什么要用socket不用javaMail呢?
下载个javaMail包,有demo的
下载个javaMail包,有demo的