JavaMail邮件传输(SMTP) 门户网站SMTP服务器 (二)

2014-11-24 11:24:36 · 作者: · 浏览: 13
e
1 package src;
2
3 import java.util.Date;
4 import java.util.Properties;
5 import javax.mail.Address;
6 import javax.mail.BodyPart;
7 import javax.mail.Message;
8 import javax.mail.MessagingException;
9 import javax.mail.Multipart;
10 import javax.mail.Session;
11 import javax.mail.Transport;
12 import javax.mail.internet.InternetAddress;
13 import javax.mail.internet.MimeBodyPart;
14 import javax.mail.internet.MimeMessage;
15 import javax.mail.internet.MimeMultipart;
16
17 /**
18 * 简单邮件(不带附件的邮件)发送器
19 */
20 public class SimpleMailSender {
21 /**
22 * 以文本格式发送邮件
23 * @param mailInfo 待发送的邮件的信息
24 */
25 public boolean sendTextMail(MailSenderInfo mailInfo) {
26 // 判断是否需要身份认证
27 MyAuthenticator authenticator = null;
28 Properties pro = mailInfo.getProperties();
29 if (mailInfo.isValidate()) {
30 // 如果需要身份认证,则创建一个密码验证器
31 authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
32 }
33 // 根据邮件会话属性和密码验证器构造一个发送邮件的session
34 Session sendMailSession = Session.getDefaultInstance(pro,authenticator);
35 try {
36 // 根据session创建一个邮件消息
37 Message mailMessage = new MimeMessage(sendMailSession);
38 // 创建邮件发送者地址
39 Address from = new InternetAddress(mailInfo.getFromAddress());
40 // 设置邮件消息的发送者
41 mailMessage.setFrom(from);
42 // 创建邮件的接收者地址,并设置到邮件消息中
43 Address to = new InternetAddress(mailInfo.getToAddress());
44 mailMessage.setRecipient(Message.RecipientType.TO,to);
45 // 设置邮件消息的主题
46 mailMessage.setSubject(mailInfo.getSubject());
47 // 设置邮件消息发送的时间
48 mailMessage.setSentDate(new Date());
49 // 设置邮件消息的主要内容
50 String mailContent = mailInfo.getContent();
51 mailMessage.setText(mailContent);
52 // 发送邮件
53 Transport.send(mailMessage);
54 return true;
55 } catch (MessagingException ex) {
56 ex.printStackTrace();
57 }
58 return false;
59 }
60
61 /**
62 * 以HTML格式发送邮件
63 * @param mailInfo 待发送的邮件信息
64 */
65 public static boolean sendHtmlMail(MailSenderInfo mailInfo){
66 // 判断是否需要身份认证
67 MyAuthenticator authenticator = null;
68 Properties pro = mailInfo.getProperties();
69 //如果需要身份认证,则创建一个密码验证器
70 if (mailInfo.isValidate()) {
71 authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
72 }
73 // 根据邮件会话属性和密码验证器构造一个发送邮件的session
74 Session sendMailSession = Session.getDefaultInstance(pro,authenticator);
75 try {
76 // 根据session创建一个邮件消息
77 Message mailMessage = new MimeMessage(sendMailSession);
78 // 创建邮件发送者地址
79 Address from = new InternetAddress(mailInfo.getFromAddress());
80 // 设置邮件消息的发送者
81 mailMessage.setFrom(from);
82 // 创建邮件的接收者地址,并设置到邮件消息中
83 Address to = new InternetAddress(mailInfo.getToAddress());
84 // Message.RecipientType.TO属性表示接收者的类型为TO
85 mailMessage.setRecipient(Message.RecipientType.TO,to)