使用spring的邮件发送功能

使用spring提供的MailSender和JavaMailSender类。

1、邮件对象类

package cn.luxh.app.mail;import java.util.List;import org.springframework.core.io.AbstractResource;public class Email { String from; String[] to; String subject; String text;List<AbstractResource> resources;//geter seter//…}

2、邮件发送服务类

package cn.luxh.app.mail;import javax.mail.MessagingException;import javax.mail.internet.MimeMessage;import org.springframework.core.io.AbstractResource;import org.springframework.mail.MailSender;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSender;import org.springframework.mail.javamail.MimeMessageHelper;public class MailService { MailSender mailSender; JavaMailSender javaMailSender;/*** 发送简单的文本邮件* @param email send(Email email){SimpleMailMessage smm = new SimpleMailMessage();smm.setFrom(email.getFrom());smm.setSubject(email.getSubject());smm.setTo(email.getTo());smm.setText(email.getText());mailSender.send(smm);}/*** 发送复杂邮件* @param email* @throws MessagingExceptionsendMime(Email email) throws MessagingException{MimeMessage mm = javaMailSender.createMimeMessage();//加上编码,服务器空间,解决中文乱码MimeMessageHelper helper = new MimeMessageHelper(mm,true,”GB2312″);helper.setFrom(email.getFrom());helper.setTo(email.getTo());helper.setSubject(email.getSubject());helper.setText(email.getText(),true);(email.getResources()!=null && email.getResources().size()>0) {for(AbstractResource resource:email.getResources()) {helper.addAttachment(resource.getFilename(), resource);}}javaMailSender.send(mm);}public MailSender getMailSender() {return mailSender;}public void setMailSender(MailSender mailSender) {this.mailSender = mailSender;}public JavaMailSender getJavaMailSender() {return javaMailSender;}public void setJavaMailSender(JavaMailSender javaMailSender) {this.javaMailSender = javaMailSender;}}

3、邮件属性配置文件mail.properties

#smtp服务器mail.host=smtp.163.com#用户名mail.username=heymenfolk@163.com#密码mail.password=your password

4、spring配置文件

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”xmlns:context=”http://www.springframework.org/schema/context”xsi:schemaLocation=””

5、测试

package cn.luxh.app.test;import java.util.ArrayList;import java.util.List;import javax.mail.MessagingException;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.core.io.AbstractResource;import org.springframework.core.io.ClassPathResource;import org.springframework.core.io.FileSystemResource;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import cn.luxh.app.mail.Email;import cn.luxh.app.mail.MailService;@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={“classpath:app-mail.xml”})public class MailTester {@Autowiredprivate MailService mailService;@Testpublic void testSendMail() {Email email = new Email();email.setFrom(“heymenfolk@163.com”);email.setTo(new String[]{“21760658@qq.com”});email.setSubject(“简单文本邮件”);email.setText(“how are you.i am from china!\r你好,程序猿!!”);mailService.send(email);}@Testpublic void testSendMimeMail() throws MessagingException {Email email = new Email();email.setFrom(“heymenfolk@163.com”);email.setTo(new String[]{“21760658@qq.com”,”heymenfolk@outlook.com”});email.setSubject(“复杂邮件”);String text = “<html><head><meta http-equiv=\”Content-Type\” content=\”text/html; charset=gb2312\”></head><body><h1><a href=’http://luxh.cnblogs.com’>我的博客</a></h1></body></html>”;email.setText(text);List<AbstractResource> resources = new ArrayList<AbstractResource>();//添加附件ClassPathResource file1 = new ClassPathResource(“top1.jpg”);FileSystemResource file2 = new FileSystemResource(“d:/中文.txt”);resources.add(file1);resources.add(file2);email.setResources(resources);mailService.sendMime(email);}}

,免备案空间,美国空间同生天地间,为何我不能。

使用spring的邮件发送功能

相关文章:

你感兴趣的文章:

标签云: