java通过springMail发送邮件

1,首先在spring配置文件中加入邮件发送配置

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">

        <property name="protocol" value="${mail.protocol}"/>

        <property name="host" value="${mail.host}"/>

        <property name="port" value="${mail.port}" />

        <property name="username" value="${mail.username}"/>

        <property name="password" value="${mail.password}"/>

        <property name="javaMailProperties">

            <props>

                <prop key="mail.smtp.auth">true</prop>

                <prop key="mail.smtp.starttls.enable">true</prop>

            </props>

        </property>

 </bean>

2,配置中的参数可以写在properties配置文件中

mail.protocol=smtp

mail.from=*@*.com

mail.host=smtp.*.com

mail.port=25

mail.username=

mail.password=

3,java中的代码

首先可以定义一个通用的邮件bean

import java.io.Serializable;



import org.springframework.web.multipart.MultipartFile;



public class Email implements Serializable

{



    private static final long    serialVersionUID    = 1L;

    /** 发件人 **/

    private String                sender;

    /** 收件人* */

    private String[]              address;

    /** 抄送给* */

    private String[]              cc;

    /** 暗送给* */

    private String[]              bcc;

    /** 回复给* */

    private String                replyTo;

    /** 邮件主题* */

    private String                subject;/** 邮件内容*/

    private String              content;

    /** 附件* */

    private MultipartFile[]        attachment            = new MultipartFile[0];



    //////////////////////////getters & setters//////////////////////////////  
}

发送代码

@Resource(name = "mailSender")

private JavaMailSender mailSender;



public  void sendMailBySynchronizationMode(Email email) {

        MimeMessage mime = mailSender.createMimeMessage();

        MimeMessageHelper helper;



        String content = email.getContent();

        

        try {

            helper = new MimeMessageHelper(mime, true, "utf-8");

            helper.setFrom(email.getSender());//发件人

            helper.setTo(email.getAddress());//收件人 

            if (CommonUtils.isNotEmpty(email.getCc())) {

                helper.setCc(email.getCc());// 抄送

            }

            if (CommonUtils.isNotEmpty(email.getBcc())) {

                helper.setBcc(email.getBcc());// 暗送

            }

            if (CommonUtils.isNotEmpty(email.getReplyTo())) {

                helper.setReplyTo(email.getReplyTo());// 回复到

            }

            helper.setSubject(email.getSubject());//邮件主题

            helper.setText(content, true);//true表示设定html格式



            //处理附件

            for (MultipartFile file : email.getAttachment()) {

                if (file == null || file.isEmpty()) {

                    continue;

                }

                String fileName = file.getOriginalFilename();

                try {

                    fileName = new String(fileName.getBytes("utf-8"), "ISO-8859-1");

                } catch (Exception e) {

                }

                helper.addAttachment(fileName, new ByteArrayResource(file.getBytes()));

            }

            mailSender.send(mime);



        } catch (Exception e) {

            e.printStackTrace();

        }

    }

 

你可能感兴趣的:(spring)