• mail.jar 发送邮件


    1.spring参数注入+util 发送邮件

    2.util配置参数+util发送邮件

    1.spring参数注入+util 发送邮件

        <bean id="mailSender" class="com.midea.ftms.util.MailSender">
            <property name="host" value="${mail.smtp.host}"></property>
            <property name="auth" value="${mail.smtp.auth}"></property>
            <property name="user" value="${mail.user}"></property>
            <property name="password" value="${mail.passwd}"></property>
            <property name="from" value="${mail.from}"></property>
            <property name="remindNum" value="${mail.remindnum}"></property>
            <property name="debugModel" value="${mail.debug}"></property>
        </bean>
    import java.util.Properties;
    
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    public class MailSender {
    
        private String host;
        private String auth;
        private String user;
        private String password;
        private String from;
        private Integer remindNum;
        private Boolean debugModel;
    
        public MailSender() {
    
        }
    
        /**
         * @see 发送邮件基础方法,请遵循使用规则 MailUtil.sendMail
         * @param to 邮件接收地址
         * @param subject 邮件主题
         * @param content 邮件内容
         * @throws Exception 调用者处理异常
         */
        public void send(String[] to, String subject, String content)
                throws Exception {
            Properties props = new Properties();
            // 指定SMTP服务器
            props.put("mail.smtp.host", host);
            // 指定是否需要SMTP验证
            props.put("mail.smtp.auth", auth);
            Session mailSession = Session.getDefaultInstance(props);
            // 是否在控制台显示debug信息
            mailSession.setDebug(debugModel);
            Message message = new MimeMessage(mailSession);
            // 发件人
            message.setFrom(new InternetAddress(from));
            // 收件人
            InternetAddress[] addresses = new InternetAddress[to.length];
            for (int i = 0; i < to.length; i++) {
                addresses[i] = new InternetAddress(to[i]);
            }
            message.setRecipients(Message.RecipientType.TO, addresses);
            // 邮件主题
            message.setSubject("subject:"+subject);
            // 邮件内容(HTML格式)
            message.setContent(content, "text/html;charset=GBK");
            // 保存设置,让设置生效
            message.saveChanges();
            // 发送
            Transport transport = mailSession.getTransport("smtp");
            transport.connect(host, user, password);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
        }
    
        public String getHost() {
            return host;
        }
    
        public void setHost(String host) {
            this.host = host;
        }
    
        public String getAuth() {
            return auth;
        }
    
        public void setAuth(String auth) {
            this.auth = auth;
        }
    
        public String getUser() {
            return user;
        }
    
        public void setUser(String user) {
            this.user = user;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        public String getFrom() {
            return from;
        }
    
        public void setFrom(String from) {
            this.from = from;
        }
    
        public Integer getRemindNum() {
            return remindNum;
        }
    
        public void setRemindNum(Integer remindNum) {
            this.remindNum = remindNum;
        }
    
        public Boolean getDebugModel() {
            return debugModel;
        }
    
        public void setDebugModel(Boolean debugModel) {
            this.debugModel = debugModel;
        }
        
    }
    public class MailUtil {
        
        private static volatile MailSender mailSender;
        
        private MailUtil() {
            
        }
        
        public static MailSender init() {
            if (mailSender == null) {
                synchronized (MailSender.class) {
                    if (mailSender == null) {
    //                    mailSender = new MailSender();
                        mailSender = (MailSender)ContextUtil.getContext().getBean("mailSender");
                    }
                }
            }
            return mailSender;
        }
        
        
        public static void sendMail(String[] to, String subject, String content)
                throws Exception {
            MailUtil.init().send(to, subject, content);
        }
        
        public static void main(String[] args) {
            MailUtil.init().setAuth("true");
            MailUtil.init().setDebugModel(true);
            MailUtil.init().setFrom("a@b.com");
            MailUtil.init().setHost("cd.com.cn");
            MailUtil.init().setUser("user");
            MailUtil.init().setPassword("passwd");
            MailUtil.init().setRemindNum(5);
            try {
                MailUtil.sendMail(new String[]{"asdfa@qq.com","134324323@qq.com"}, "测试", "hello yoyo");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    }

    2.util配置参数+util发送邮件

    import java.util.Properties;
    
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    public class MailSendUtil {
        
        private String host;
        private String auth;
        private String user;
        private String password;
        private String from;
        private Integer remindNum;
        private Boolean debugModel;
        
        private volatile static MailSendUtil mailSendUtil;
        
        private MailSendUtil(){
            init();
        }
        
        private void init() {
            host = PropertiesUtil.getProperty("mail.smtp.host");
            auth = PropertiesUtil.getProperty("mail.smtp.auth");
            user = PropertiesUtil.getProperty("mail.user");
            password = PropertiesUtil.getProperty("mail.passwd");
            from = PropertiesUtil.getProperty("mail.from");
            remindNum = Integer.parseInt(PropertiesUtil.getProperty("mail.remindnum"));
            debugModel = Boolean.valueOf(PropertiesUtil.getProperty("mail.debug"));
        }
    
        public static MailSendUtil getInstance() {
            if (mailSendUtil == null) {
                synchronized (MailSendUtil.class) {
                    if (mailSendUtil == null) {
                        return new MailSendUtil();
                    }
                }
            }
            return mailSendUtil;
        }
        
        public static void sendMail(String[] to, String subject, String content)
                throws Exception {
            MailSendUtil.getInstance().send(to, subject, content);
        }
        
        /**
         * @see 发送邮件基础方法,请遵循使用规则 MailUtil.sendMail
         * @param to 邮件接收地址
         * @param subject 邮件主题
         * @param content 邮件内容
         * @throws Exception 调用者处理异常
         */
        public void send(String[] to, String subject, String content)
                throws Exception {
            Properties props = new Properties();
            // 指定SMTP服务器
            props.put("mail.smtp.host", host);
            // 指定是否需要SMTP验证
            props.put("mail.smtp.auth", auth);
            Session mailSession = Session.getDefaultInstance(props);
            // 是否在控制台显示debug信息
            mailSession.setDebug(debugModel);
            Message message = new MimeMessage(mailSession);
            // 发件人
            message.setFrom(new InternetAddress(from));
            // 收件人
            InternetAddress[] addresses = new InternetAddress[to.length];
            for (int i = 0; i < to.length; i++) {
                addresses[i] = new InternetAddress(to[i]);
            }
            message.setRecipients(Message.RecipientType.TO, addresses);
            // 邮件主题
            message.setSubject("subject:"+subject);
            // 邮件内容(HTML格式)
            message.setContent(content, "text/html;charset=GBK");
            // 保存设置,让设置生效
            message.saveChanges();
            // 发送
            Transport transport = mailSession.getTransport("smtp");
            transport.connect(host, user, password);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
        }
    
        
    }

    3.遇到发送邮件正常,但是没有主题,也没有收件人的情况,请删除 geronimo-javamail_1.4_spec-1.2.jar

  • 相关阅读:
    ListNode Java创建链表
    Remove Nth Node From End of List LeetCode Java
    Rotate List LeetCode Java
    LeetCode刷题感想
    Swap Nodes in Pairs LeetCode Java
    Reverse Nodes in k-Group LeetCode Java
    334. Increasing Triplet Subsequence
    300. Longest Increasing Subsequence
    130. Surrounded Regions
    200. Number of Islands
  • 原文地址:https://www.cnblogs.com/yun965861480/p/7183197.html
Copyright © 2020-2023  润新知