spring email

spring配置文件

<bean id="bizMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="***" />
        <property name="username" value="***" />
        <property name="password" value="***" />
        <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.smtp.connectiontimeout">15000</prop>
                <prop key="mail.smtp.timeout">15000</prop>
                <prop key="mail.smtp.writetimeout">15000</prop>
                <prop key="mail.smtp.port">25</prop>
            </props>
        </property>
    </bean>
/**
     * 发送邮件,带附件
     * @param subject           邮件标题
     * @param content           邮件内容
     * @param receivers         收件人邮箱
     * @param stream            附件的文件流
     * @param fileName          附件名称
     * @param fileMimeType      附件类型: application/vnd.ms-excel;application/pdf;application/msword
     * @throws Exception
     */
    public void sendEmail(String subject,String content, String receivers, InputStream stream,String fileName,String fileMimeType) throws Exception {
        if(Strings.isEmpty(subject)){throw new Exception("邮件主题为空");}
        if(Strings.isEmpty(content)){throw new Exception("邮件正文为空");}
        if(Strings.isEmpty(receivers)){throw new Exception("接收人为空");}

        try {
            // 组装邮件数据
            String mailMimeSplite = System.getProperty("mail.mime.splitlongparameters");
            logger.info("发送邮件,mail.mime.splitlongparameters 配置{},文件名:{}", mailMimeSplite,fileName);

            MimeMessage mimeMessage = bizMailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
            helper.setSubject(subject);
            helper.setFrom(sender);
            helper.setTo(receivers.split(";"));
            helper.setText(content, true);

            // 加载文件资源,作为附件
            if (stream != null && fileName != null && fileMimeType != null) {
                helper.addAttachment(fileName, new ByteArrayResource(IOUtils.toByteArray(stream)), fileMimeType);
            }
            logger.info("发送邮件客户列表 = {};内容 content {}",receivers,content);

            // 发送邮件
            bizMailSender.send(mimeMessage);

            logger.info("发送邮件成功");
        } finally {
            if (stream != null) {
                stream.close();
            }
        }
    }
/**
     * 发送邮件
     * @param subject   邮件主题
     * @param text      邮件正文
     * @param receivers 邮件接收人,多个以英文分号分隔
     * @throws Exception
     */
    public void sendSimpleEmail(String subject, String text, String receivers) throws Exception{
        if(Strings.isEmpty(subject)){throw new Exception("邮件主题为空");}
        if(Strings.isEmpty(text)){throw new Exception("邮件正文为空");}
        if(Strings.isEmpty(receivers)){throw new Exception("接收人为空");}

        MimeMessage mimeMessage = bizMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
        helper.setSubject(subject);
        helper.setText(text, true);
        helper.setFrom(sender);
        helper.setTo(receivers.split(";"));

        bizMailSender.send(mimeMessage);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值