java发送邮件(3)

    我们前面看了怎么利用java mail和commons mail发送邮件,这节我们看一下怎么利用spring mail发送邮件。同样,spring mail也是对java mail的接口进行了封装,更方便我们操作。

    要利用spring mail发送邮件,我们必须添加activation.jar、mail.jar、spring.jar三个jar包。在spring mail中,发送邮件主要用的类有org.springframework.mail.javamail.JavaMailSenderImpl(主要用来建立与邮件服务器的连接,以及发送邮件),org.springframework.mail.MailMessage(对java mail的message进行封装),org.springframework.mail.javamail.MimeMessageHelper(建立MimeMessage的辅助类)等,类图如下图所示:


    下面我们来看看spring mail发送各种邮件的实例。

public class SpringMailSender {
    private JavaMailSenderImpl mailSender;
    
    public SpringMailSender() {
    	mailSender = new JavaMailSenderImpl();
    	
    	mailSender.setHost("smtp.qq.com");
    	mailSender.setUsername("249745552@qq.com");
    	mailSender.setPassword("linlinjiahong21");
    }
    
    // 发送简单的文本文件
    public void simpleSend() {
    	SimpleMailMessage msg = new SimpleMailMessage();
    	msg.setFrom(mailSender.getUsername());
    	msg.setTo("zhao.jiahong@yahoo.com");
    	msg.setSubject("spring simple mail");
    	msg.setText("This is a simple mail sended by mail");
    	
    	mailSender.send(msg);
    }
    
    // 发送带有附件的邮件
    public void attachedSend() throws MessagingException {
        MimeMessage msg = mailSender.createMimeMessage();
        
        MimeMessageHelper helper = new MimeMessageHelper(msg, true);
        
        helper.setFrom(mailSender.getUsername());
        helper.setTo("zhao.jiahong@yahoo.com");
        helper.setSubject("attached mail");
        helper.setText("this is a attached message sended by spring mail!");
        
        FileSystemResource file = new FileSystemResource("F:\\meinv.jpg");
        helper.addAttachment("hello", file);
        
        mailSender.send(msg);
    }
    
    // 发送HTML邮件
    public void htmlSender() throws MessagingException {
    	MimeMessage msg = mailSender.createMimeMessage();
    	
    	MimeMessageHelper helper = new MimeMessageHelper(msg, true);
    	
    	helper.setFrom(mailSender.getUsername());
    	helper.setTo("zhao.jiahong@yahoo.com");
    	helper.setSubject("html mail");
    	
    	helper.setText("<body><p>Hello, html Email<img src='cid:meinv'/></p></body>", true);
    	
    	FileSystemResource file = new FileSystemResource("F:\\meinv.jpg");
    	
    	helper.addInline("meinv", file);
    	
    	mailSender.send(msg);
    }
    
    public static void main(String[] args) throws MessagingException {
    	// 发送简单文本邮件
    	SpringMailSender sender = new SpringMailSender();
    	sender.simpleSend();
    	
    	// 发送带有附件的邮件
    	SpringMailSender sender1 = new SpringMailSender();
    	sender1.attachedSend();
    	
    	// 发送HTML邮件
    	SpringMailSender sender2 = new SpringMailSender();
    	sender2.htmlSender();
    }
}

    实际上使用spring mail发送邮件也是非常简单的,甚至比commons mail都简单。在这三种发送邮件实例中,我只是采用了一种经常使用的方式,实际上,在发送邮件的开发中,可能还有其他的写法,我们在此只列举一种,切不可认为只有这一种方式哦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值