zoukankan      html  css  js  c++  java
  • 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();
            }
        }
  • 相关阅读:
    Docker虚拟机配置手札(centos)
    Nginx配置手札
    登录的顶号功能实现
    苹果登录服务端JWT算法验证-PHP
    mac Read-Only filesystem (转载)
    ssh公私钥登录/git公私钥认证
    crontab 定时访问指定url,定时脚本
    网站通用 敏感词列表
    游戏行业术语一览(2)--游戏运营转化率[转载]
    <转载>为什么VR不可能成功?
  • 原文地址:https://www.cnblogs.com/china2k/p/4083679.html
Copyright © 2011-2022 走看看