Spring 实现发送电子邮件的两种方法

时间:2024-04-30 13:59:01


1.通过xml文件配置主要属性:

xml文件:test.xml

  1. <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  2. <property name="host" value="smtp.126.com" />
  3. <property name="port" value="25" />
  4. <property name="username" value="dxxx@126.com" />
  5. <property name="password" value="xxxxxxx" />
  6. <property name="javaMailProperties">
  7. <props>
  8. <prop key="mail.smtp.auth">true</prop>
  9. </props>
  10. </property>
  11. </bean>

java发送代码:

a.text文字发送模式:

  1. //获得xml文件环境
  2. ApplicationContext context = new ClassPathXmlApplicationContext("test.xml");
  3. //取得配置
  4. JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");
  5. SimpleMailMessage mail = new SimpleMailMessage();
  6. mail.setFrom("xxxxxx@126.com");
  7. mail.setTo("ddddd@126.com");
  8. mail.setSubject(" 测试spring Mail");
  9. String text = "您购买了团购【韩式汉蒸,蒸出健康好肤色!】,嘀嗒券【19856121】已于2011年05月07日";
  10. mail.setText(text);
  11. mailSender.send(mail);

b.html邮件发送模式:

  1. //建立邮件消息,发送简单邮件和html邮件的区别
  2. MimeMessage mailMessage = senderImpl.createMimeMessage();
  3. MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage);
  4. //设置收件人,寄件人
  5. messageHelper.setTo("sun111@163.com");
  6. messageHelper.setFrom("webadmin@163.com");
  7. messageHelper.setSubject("测试HTML邮件!");
  8. //true 表示启动HTML格式的邮件
  9. messageHelper.setText("<html><head></head><body><h1>hello!!zhangjian</h1></body></html>",true);
  10. //发送邮件
  11. senderImpl.send(mailMessage);

c.邮件中嵌套图片

  1. //获得xml文件环境
  2. ApplicationContext context = new ClassPathXmlApplicationContext("test.xml");
  3. //取得配置
  4. JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");
  5. //建立邮件消息,发送简单邮件和html邮件的区别
  6. MimeMessage mailMessage = mailSender.createMimeMessage();
  7. try {
  8. //注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用   multipart模式
  9. MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,true);
  10. //设置收件人,寄件人
  11. messageHelper.setTo("dfdfd@126.com");
  12. messageHelper.setFrom("ssss@126.com");
  13. messageHelper.setSubject("测试邮件中嵌套图片!!");
  14. //true 表示启动HTML格式的邮件
  15. messageHelper.setText("<html><head></head><body><h1>hello!!zhangjian</h1><img src=/"cid:aaa/"/></body></html>",true);
  16. FileSystemResource img = new FileSystemResource(new File("c:/350.jpg"));
  17. messageHelper.addInline("aaa",img);
  18. } catch (MessagingException e) {
  19. // TODO Auto-generated catch block
  20. e.printStackTrace();
  21. }

2.通过java代码设置属性发送邮件:

  1. //这个类主要是设置邮件
  2. MailSenderInfo mailInfo = new MailSenderInfo();
  3. mailInfo.setMailServerHost("smtp.126.com");
  4. mailInfo.setMailServerPort("25");
  5. mailInfo.setValidate(true);
  6. mailInfo.setUserName("sssss@126.com");
  7. mailInfo.setPassword("dddddfd");//您的邮箱密码 
  8. mailInfo.setFromAddress("dfdfd@126.com");
  9. mailInfo.setToAddress("vcvc@126.com");
  10. mailInfo.setSubject("设置邮箱标题 如http://www.guihua.org 中国桂花网");
  11. String content = "<div style=/"padding:20px;/"><a href=/"http://www.didatuan.com//">" +
  12. "<img src=/"http://www.didatuan.com/static/img/logo.gif/" style=/"border:none;/"></a>" +
  13. "<div style=/"width:100%; height:10px; border-bottom:1px solid #CCC;/"></div>" +
  14. "<h2 style=/"font-size:14px; color:#333; font-weight:bold; line-height:30px;/">Hi," +
  15. "<span style=/"color:#ff9900/">yue_861120</span>,您好!</h2>" +
  16. "<p style=/"font-size:12px; color:#666; line-height:20px;/">您购买了团购【韩式汉蒸,蒸出健康好肤色!】,嘀嗒券【19856121】已于2011年05月07日 13时52分消费。</p>" +
  17. "<p style=/"font-size:12px; color:#666; line-height:20px;/">【嘀嗒团客服】:400-000-1666</p>" +
  18. "<p style=/"font-size:12px; color:#666; line-height:20px;/">详情请查询:" +
  19. "<a href=/"http://www.didatuan.com//coupon/index.php/" target=/"_blank/" " +
  20. "style=/"color:#006699;/">http://www.didatuan.com/</a></p></div>";
  21. mailInfo.setContent(content);//这个类主要来发送邮件
  22. SimpleMailSender sms = new SimpleMailSender();
  23. sms.sendTextMail(mailInfo);//发送文体格式
  24. sms.sendHtmlMail(mailInfo);//发送html格式