javaMial

 發送html格式郵件很簡單,下面給出個例子
先是一個抽象的基類
 1 package com.educast.mail;
 2 
 3 import org.springframework.mail.javamail.JavaMailSender;
 4 
 5 /**
 6  * @author  mfc42d
 7  *
 8  */
 9 public abstract class BaseMailSender {
10 
11  protected String to;
12  protected String from;
13  protected String subject;
14  protected JavaMailSender sender;
15 
16 
17  public void setTo(String to) {
18   this.to = to;
19  }
20 
21  public void setFrom(String from) {
22   this.from = from;
23  }
24 
25  public void setSubject(String subject) {
26   this.subject = subject;
27  }
28 
29  public void setJavaMailSender(JavaMailSender sender) {
30   this.sender = sender;
31  }
32 }
33 
34 下面是具體的實現類
35 package com.educast.mail;
36 
37 
38 import javax.mail.MessagingException;
39 import javax.mail.internet.MimeMessage;
40 
41 import org.springframework.context.ApplicationContext;
42 import org.springframework.context.support.FileSystemXmlApplicationContext;
43 import org.springframework.mail.javamail.MimeMessageHelper;
44 
45 /**
46  * @author mfc42d
47  *  
48  */
49 public class SimpleHtmlMailSender extends BaseMailSender {
50 
51  public void sendMessage() throws MessagingException {
52   MimeMessage msg = sender.createMimeMessage();
53   MimeMessageHelper helper = new MimeMessageHelper(msg, true"GB2312");
54 
55   helper.setTo(to);
56   helper.setFrom(from);
57   helper.setSubject(subject);
58   helper.setText("<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><h1><a href='#'>鬱悶!"
59     + "</a></h1></body></html>"true);
60 
61   sender.send(msg);
62  }
63 
64  public static void main(String[] args) throws Exception {
65   ApplicationContext ctx = new FileSystemXmlApplicationContext(
66     new String[] { "D:\\WORK\\JDBC\\mail\\src\\MailSender.xml" });
67 
68   SimpleHtmlMailSender sender = (SimpleHtmlMailSender) ctx
69     .getBean("messageSender");
70   sender.sendMessage();
71  }
72 }
73 
74 
最後是spring配置文件
 1 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 2 <beans>
 3  <bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
 4   <property name="host">
 5    <value>mail.mymail.cn</value>
 6   </property>
 7   <property name="username">
 8    <value>webmaster</value>
 9   </property>
10   <property name="password">
11    <value>password</value>
12   </property>
13         <property name="javaMailProperties">
14         <props>
15         <prop key="mail.smtp.auth">true</prop>
16         </props>
17         </property>
18 
19     </bean>
20 
21  <bean id="messageSender" class="com.educast.mail.SimpleHtmlMailSender">
22   <property name="javaMailSender">
23    <ref bean="sender"/>
24   </property>
25   <property name="to">
26    <value>[email protected]</value>
27   </property>
28   <property name="from">
29    <value>[email protected]</value>
30   </property>
31   <property name="subject">
32    <value>test</value>
33   </property>
34  </bean>
35 </beans>
36 使用esmtp認證必須添加紅色部分
37 
posted on 2005-11-12 02:36 老妖 閱讀(1926) 評論(1)  編輯  收藏 所屬分類: spring

FeedBack:
# re: spring的mail如何發送html格式的郵件--轉自邢紅瑞的blog
2006-11-23 23:12 | Jack[匿名]
我想在頁面A中輸入一些HTML的東西, 再將這些東西發送到指定的郵箱中, 請幫我看看下面這幾行代碼, 我的郵件發到位了, 怎麼HTML內容卻不見了?!

謝謝你!

String to = request.getParameter("to");
String subject = request.getParameter("subject");
String text = request.getParameter("text");

text = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=gbk\"></head><body>" +
text + "</body></html>";

JavaMailSender javaMailSender = (JavaMailSenderImpl) mailSender;
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true, "gbk");

helper.setTo(to);
helper.setSubject(subject);
helper.setText(text, true);

javaMailSender.send(message);  回覆  更多評論
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章