天天看點

spring內建的郵件發送

package net.bolue.mail;

import javax.mail.MessagingException;

import javax.mail.internet.MimeMessage;

import org.springframework.core.io.ClassPathResource;

import org.springframework.core.io.FileSystemResource;

import org.springframework.mail.javamail.JavaMailSenderImpl;

import org.springframework.mail.javamail.MimeMessageHelper;

public class SpringMailSender {

    // Spring的郵件工具類,實作了MailSender和JavaMailSender接口

    private JavaMailSenderImpl mailSender;

    public SpringMailSender() {

        // 初始化JavaMailSenderImpl,當然推薦在spring配置檔案中配置,這裡是為了簡單

        mailSender = new JavaMailSenderImpl();

        // 設定參數

        mailSender.setHost("smtp.qq.com");

        mailSender.setUsername("[email protected]");

        mailSender.setPassword("asterisks");

    }

    public void attachedSend() throws MessagingException {

        //使用JavaMail的MimeMessage,支付更加複雜的郵件格式和内容

        MimeMessage msg = mailSender.createMimeMessage();

        //建立MimeMessageHelper對象,處理MimeMessage的輔助類

        MimeMessageHelper helper = new MimeMessageHelper(msg, true);

        //使用輔助類MimeMessage設定參數

        helper.setFrom(mailSender.getUsername());

        helper.setTo("[email protected]");

        helper.setSubject("Hello Attachment");

        helper.setText("This is a mail with attachment");

        //加載檔案資源,作為附件

        ClassPathResource file = new ClassPathResource("Chrysanthemum.jpg");

        //加入附件

        helper.addAttachment("attachment.jpg", file);

        //發送郵件

        mailSender.send(msg);

    }

    public void richContentSend() throws MessagingException {

        MimeMessage msg = mailSender.createMimeMessage();

        MimeMessageHelper helper = new MimeMessageHelper(msg, true);

        helper.setFrom(mailSender.getUsername());

        helper.setTo("[email protected]");

        helper.setSubject("Rich content mail");

        //第二個參數true,表示text的内容為html,然後注意<img/>标簽,src='cid:file','cid'是contentId的縮寫,'file'是一個标記,需要在後面的代碼中調用MimeMessageHelper的addInline方法替代成檔案

        helper.setText(

                "<body><p>Hello Html Email</p><img src='cid:file'/></body>",

                true);

        FileSystemResource file = new FileSystemResource(

                "C:\\Users\\Public\\Pictures\\Sample Pictures\\Chrysanthemum.jpg");

        helper.addInline("file", file);

        mailSender.send(msg);

    }

}