Spring中使用JavaMailSenderImpl发送邮件

概要:

Spring为我们提供了一组快速发邮件的工具类与接口

| |目录

ApplicationContext.xml:

<!-- JavaMail相关配置 -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl" >
<property name="host" value="发件服务器"></property>
<property name="username" value="用户名"></property>
<property name="password" value="密码"></property>
<property name="protocol" value="smtp"></property>
<property name="defaultEncoding" value="utf-8"></property>
<property name="javaMailProperties">  
   <props>
       <prop key="mail.smtp.auth">true</prop>
       <prop key="mail.smtp.from">demo@zhenzhigu.com</prop>
       <prop key="mail.debug">true</prop>
   </props>
</property>
</bean>


使用注解从Spring容器中注入mailSender对象:

@Autowired
private JavaMailSenderImpl sender;


准备一封简单的邮件:

// 构建简单邮件对象,见名知意
SimpleMailMessage smm = new SimpleMailMessage();
// 设定邮件参数
smm.setFrom(sender.getUsername());
smm.setTo("1500506007@qq.com");
smm.setSubject("Hello world");
smm.setText("Hello world via spring mail sender");


发送邮件:

sender.send(smm);


如果你想发送带有附件的邮件:

/**
 * 发送带附件的邮件,可指定附件名
 * @param to
 * @param subject
 * @param text
 * @param file
 * @throws MessagingException
 */
public static void send(String to,String subject,String text,
	 String fileName,File file) throws MessagigException{
    //使用JavaMail的MimeMessage,支付更加复杂的邮件格式和内容
    MimeMessage msg = sender.createMimeMessage();

    //创建MimeMessageHelper对象,处理MimeMessage的辅助类
    MimeMessageHelper helper = new MimeMessageHelper(msg, true);

    //使用辅助类MimeMessage设定参数
    helper.setFrom(sender.getUsername());
    helper.setTo(to);
    helper.setSubject(subject);
    helper.setText(text,true);
	    
    //加入附件
    if(file!=null)helper.addAttachment(fileName, file);

    //发送邮件
    sender.send(msg);
}


评论关闭
评论 还能输入200
评论关闭
评论 还能输入200
  • 全部评论(0)
资料加载中...
已关注 , 取消