程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 用spring簡單實現發送郵件

用spring簡單實現發送郵件

編輯:關於JAVA

剛做完一個電影網站,網站新注冊用戶時需要發送email進行確認。但是這個功能不是由我來負責的。在下對此功能頗有好奇之心於是自己就搭建了一個小的spring項目來進行實踐。

聲明代碼裡有些內容並非是我一個人完成的。

首先在applicationContext.xml文件中配置bean

Java代碼

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.sina.com">
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
<property name="username" value="dufangxu"/>
<property name="password" value="你的郵箱密碼"/>
</bean>

實現發送郵件java類代碼:

Java代碼

private Configuration cfg = new Configuration();

public static void main(String[] args) throws Exception {
ApplicationContext ctx = new FileSystemXmlApplicationContext(
"src/applicationContext.xml");
JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");
SpringMail springMail = new SpringMail();
springMail.sendMail(sender);

}

private void sendMail(JavaMailSender sender) throws Exception {
SimpleMailMessage mail = new SimpleMailMessage();
mail.setTo("[email protected]"); //接收人
mail.setFrom("[email protected]"); //發送人
mail.setSubject("test by amigo");
//嵌入ftl模版
cfg.setClassForTemplateLoading(getClass(), "/mail");
Map root = new HashMap();
root.put("username", "sucre"); //模板變量 
Template t = cfg.getTemplate("notify-mail.ftl");
StringWriter writer = new StringWriter();
t.process(root, writer);
//把模版內容寫入郵件中
mail.setText(writer.toString());
sender.send(mail);
System.out.println("郵件發送成功!");
}

這樣還不夠,還需要一個ftl模版

Java代碼

歡迎加入!

親愛的${username}

請點擊鏈接完成注冊:

如果您的email程序不支持鏈接點擊,請將上面的地址拷貝至您的浏覽器(如IE)的地址欄進入****。

您可以在***:

查看最新的影視資料,查看各種相關消費產品,在這裡交友,灌水……;

希望您在**度過快樂的時光!

-

(這是一封自動產生的email,請勿回復。)

目錄結構:

ok,這樣郵件就能成功發送了。

文章很簡短,還有很多不足之處,希望大家多提意見

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved