转:http://blog.sina.com.cn/s/blog_3f0cd39a010006pa.html
- package com.mogoko.common.email;
-
- import javax.mail.Session;
- import javax.mail.MessagingException;
- import javax.mail.Multipart;
- import javax.mail.Transport;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- import javax.mail.internet.MimeBodyPart;
- import javax.mail.internet.MimeMultipart;
- import javax.activation.FileDataSource;
- import javax.activation.DataHandler;
-
-
-
-
- public class SendAttachMail {
- public static void sendMessage(String smtpHost,String from, String to,String subject, String messageText,String fileName)
- throws MessagingException {
-
- // Step 1: Configure the mail session
- java.util.Properties props = new java.util.Properties();
- props.setProperty("mail.smtp.auth", "true"); //指定是否需要SMTP验证
- props.setProperty("mail.smtp.host", smtpHost); //指定SMTP服务器
- props.put("mail.transport.protocol", "smtp"); //指定传输协议
-
-
- Session mailSession = Session.getDefaultInstance(props);
- mailSession.setDebug(false); //是否在控制台显示debug信息
-
- // Step 2: Construct the message
- System.out.println("Constructing message - from=" + from + " to=" +to);
-
- InternetAddress fromAddress = new InternetAddress(from); //From Mail
- InternetAddress toAddress = new InternetAddress(to); //To Mail
-
- MimeMessage mimeMessage = new MimeMessage(mailSession);
- mimeMessage.setFrom(fromAddress);
- mimeMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
-
-
- mimeMessage.setSentDate(new java.util.Date());
- mimeMessage.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.setContent(messageText, "text/html;charset=gb2312");
-
- // 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 fileDataSource = new FileDataSource("E:\\a.zip");
- fileBodyPart.setDataHandler(new DataHandler(fileDataSource));
- fileBodyPart.setFileName(fileDataSource.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
- mimeMessage.setContent(container);
-
- System.out.println("Message constructed");
-
- // Step 7: Now send the message
- Transport transport = mailSession.getTransport("smtp");
- transport.connect(smtpHost, "biansutao", "password");
- transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
- transport.close();
-
- System.out.println("Message sent!");
- }
- /*
- * 测试发送邮件
- */
-
- //+++++++++++++++++++++++++++++++++++++++++++++++
- public static void main(String[] args) {
-
- String fileName = "b.zip";
- String smtpHost = "smtp.163.com";
- String from = "biansutao@163.com"; //必须与transport.connect(smtpHost, "username1", "pwd1");的username1一样
- String to = "biansutao@163.com";
- String subject = "邮件测试从mogoko"; //subject javamail自动转码
- StringBuffer theMessage = new StringBuffer();
- theMessage.append("邮件测试");
-
- try {
- SendAttachMail.sendMessage(smtpHost, from, to, subject,
- theMessage.toString(), fileName);
- } catch (javax.mail.MessagingException exc) {
- exc.p
- package com.mogoko.common.email;
- import javax.mail.Session;
- import javax.mail.MessagingException;
- import javax.mail.Multipart;
- import javax.mail.Transport;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- import javax.mail.internet.MimeBodyPart;
- import javax.mail.internet.MimeMultipart;
- import javax.activation.FileDataSource;
- import javax.activation.DataHandler;
- public class SendAttachMail {
- public static void sendMessage(String smtpHost,String from, String to,String subject, String messageText,String fileName)
- throws MessagingException {
- // Step 1: Configure the mail session
- java.util.Properties props = new java.util.Properties();
- props.setProperty("mail.smtp.auth", "true"); //指定是否需要SMTP验证
- props.setProperty("mail.smtp.host", smtpHost); //指定SMTP服务器
- props.put("mail.transport.protocol", "smtp"); //指定传输协议
- Session mailSession = Session.getDefaultInstance(props);
- mailSession.setDebug(false); //是否在控制台显示debug信息
- // Step 2: Construct the message
- System.out.println("Constructing message - from=" + from + " to=" +to);
- InternetAddress fromAddress = new InternetAddress(from); //From Mail
- InternetAddress toAddress = new InternetAddress(to); //To Mail
- MimeMessage mimeMessage = new MimeMessage(mailSession);
- mimeMessage.setFrom(fromAddress);
- mimeMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
- mimeMessage.setSentDate(new java.util.Date());
- mimeMessage.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.setContent(messageText, "text/html;charset=gb2312");
- // 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 fileDataSource = new FileDataSource("E:\\a.zip");
- fileBodyPart.setDataHandler(new DataHandler(fileDataSource));
- fileBodyPart.setFileName(fileDataSource.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
- mimeMessage.setContent(container);
- System.out.println("Message constructed");
- // Step 7: Now send the message
- Transport transport = mailSession.getTransport("smtp");
- transport.connect(smtpHost, "biansutao", "password");
- transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
- transport.close();
- System.out.println("Message sent!");
- }
- /*
- * 测试发送邮件
- */
- //+++++++++++++++++++++++++++++++++++++++++++++++
- public static void main(String[] args) {
- String fileName = "b.zip";
- String smtpHost = "smtp.163.com";
- String from = "biansutao@163.com"; //必须与transport.connect(smtpHost, "username1", "pwd1");的username1一样
- String to = "biansutao@163.com";
- String subject = "邮件测试从mogoko"; //subject javamail自动转码
- StringBuffer theMessage = new StringBuffer();
- theMessage.append("邮件测试");
- try {
- SendAttachMail.sendMessage(smtpHost, from, to, subject,
- theMessage.toString(), fileName);
- } catch (javax.mail.MessagingException exc) {
- exc.p