使用spring mail帮助类发送邮件

使用spring mail帮助类,可以很方便的发送邮件。

本来想用commons-net或者ant的mail task发送邮件,通过groovy。发现使用起来并不方便。转过来用spring。功能强大一些,方便以后扩展。

使用前需要增加一些类库支持,如果用maven,可以:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>2.5.6</version>
</dependency>
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.1</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1</version>
</dependency>

使用java实现的代码:

JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); Properties mailProps = new Properties(); mailProps.put("mail.smtps.auth", "true"); mailProps.put("mail.smtp.starttls.enable", "true"); mailSender.setJavaMailProperties(mailProps); mailSender.setProtocol("smtps"); mailSender.setPort(465); mailSender.setHost("smtp.gmail.com"); mailSender.setUsername("user_name@gmail.com"); mailSender.setPassword("password"); MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setTo("user_name@qq.com"); helper.setFrom("user_name@gmail.com"); helper .setSubject("如果收到邮件,说明代码已经工作。"); helper.setText("邮件正文", true); mailSender.send(mimeMessage); System.out.println("send ok.");

该代码很好改为groovy实现:

#!/usr/bin/env groovy import java.util.Properties import javax.mail.internet.MimeMessage import org.springframework.mail.javamail.JavaMailSenderImpl import org.springframework.mail.javamail.MimeMessageHelper JavaMailSenderImpl mailSender = new JavaMailSenderImpl() Properties mailProps = new Properties() mailProps.put("mail.smtps.auth", "true") mailProps.put("mail.smtp.starttls.enable", "true") mailSender.setJavaMailProperties(mailProps) mailSender.setProtocol("smtps") mailSender.setPort(465) mailSender.setHost("smtp.gmail.com") mailSender.setUsername("user_name@gmail.com") mailSender.setPassword("password") MimeMessage mimeMessage = mailSender.createMimeMessage() MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true) helper.setTo("user_name@qq.com") helper.setFrom("user_name@gmail.com") helper.setSubject("\u5982\u679c\u6536\u5230\u90ae\u4ef6\uff0c\u8bf4\u660e\u4ee3\u7801\u5df2\u7ecf\u5de5\u4f5c\u3002") helper.setText("\u6b63\u6587", true); mailSender.send(mimeMessage) System.out.println("send ok.")

相关日志

这篇文章上的评论 RSS feed TrackBack URI

留下评论