这里只需要对MailSender和SimpleMailMessage的基本用法 中的实现类和配置稍作修改就成。
实现类的改动较大:
package com.mail.sender; import com.mail.service.OrderManager; import org.springframework.mail.MailException; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessagePreparator; import javax.mail.Message; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * Created with IntelliJ IDEA. * User: Administrator * Date: 12-6-12 * Time: 下午5:58 * To change this template use File | Settings | File Templates. */ public class SimpleOrderManager2 implements OrderManager { private JavaMailSender mailSender; public void setMailSender(JavaMailSender mailSender) { this.mailSender = mailSender; } public void placeOrder() { MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]"));//toXXX邮箱 mimeMessage.setFrom(new InternetAddress("[email protected]")); //from XXX邮箱 mimeMessage.setSubject("weolcom"); //设置主题 mimeMessage.setText("hello"); //设置内容 } }; try { this.mailSender.send(preparator); } catch (MailException e) { e.printStackTrace(); } } }
这里的mailSender是JavaMailSender类型的,所以可是使用JavaMail的MimeMessage类。
配置文件:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.qq.com"/> <property name="defaultEncoding" value="UTF-8"/> <property name="username" value="[email protected]"/> <property name="password" value="XXXX"/> <property name="javaMailProperties"> <value> mail.smtp.auth=true </value> </property> </bean> <bean id="orderManager" class="com.mail.sender.SimpleOrderManager2"> <property name="mailSender" ref="mailSender"/> </bean>
这样就完成了,测试一下,如果没有出错就表示成功了