Pu Zhibing
6 天以前 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java
@@ -1,12 +1,12 @@
package com.stylefeng.guns.modular.system.util;
import com.sun.mail.smtp.SMTPSSLTransport;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;
@@ -40,7 +40,6 @@
    /**
     * 创建邮件内容
     *
     * @param sentToEmail 接收人邮箱
     * @param subject     设置邮件主题
     * @param content     内容
@@ -52,52 +51,129 @@
        Properties props = new Properties();
        //选择ssl方式
        gmailssl(props);
        final String username = "southwindservice@gmail.com";// gmail 邮箱
        final String password = "ogsntijmguisoiuk";// Google应用专用密码
        // 当做多商户的时候需要使用getInstance, 如果只是一个邮箱发送的话就用getDefaultInstance
        // Session.getDefaultInstance 会将username,password保存在session会话中
        // Session.getInstance 不进行保存
        final String displayName = "I-GO";//昵称
        final String username = "i-gotech@i-go.group";// gmail 邮箱
        final String password = "wpwfkrlvridoayyh";// Google应用专用密码
        Session session = Session.getInstance(props,
                new Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(username, password);
                    }
                });
        MimeMessage msg = new MimeMessage(session);
        //2.设置发件人地址
        msg.setFrom(new InternetAddress(sentToEmail));
        /**
         * 3.设置收件人地址(可以增加多个收件人、抄送、密送),即下面这一行代码书写多行
         * MimeMessage.RecipientType.TO:发送
         * MimeMessage.RecipientType.CC:抄送
         * MimeMessage.RecipientType.BCC:密送
         */
        msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(sentToEmail));
        //4.设置邮件主题
        msg.setSubject(subject, "UTF-8");
        // 6. 创建文本"节点"
        // 创建默认的MimeMessage对象
        MimeMessage message = new MimeMessage(session);
        String nick="";
        try {
            nick=javax.mail.internet.MimeUtility.encodeText(displayName);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        // 设置发件人
        message.setFrom(new InternetAddress(nick + " <" + username + ">"));
        // 设置收件人
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(sentToEmail));
        // 设置邮件主题
        message.setSubject(subject,"UTF-8");
        // 设置邮件内容
        MimeBodyPart text = new MimeBodyPart();
        // 这里添加图片的方式是将整个图片包含到邮件内容中, 实际上也可以以 http 链接的形式添加网络图片
        text.setContent(content, "text/html;charset=UTF-8");
        // 7. (文本+图片)设置 文本 和 图片"节点"的关系(将 文本 和 图片"节点"合成一个混合"节点")
        MimeMultipart mm_text_image = new MimeMultipart();
        mm_text_image.addBodyPart(text);
        mm_text_image.setSubType("related");    // 关联关系
        // 11. 设置整个邮件的关系(将最终的混合"节点"作为邮件的内容添加到邮件对象)
        msg.setContent(mm_text_image);
        text.setContent(content,"text/html;charset=UTF-8");
        MimeMultipart mimeMultipart = new MimeMultipart();
        mimeMultipart.addBodyPart(text);
        mimeMultipart.setSubType("related");
        message.setContent(mimeMultipart);
        //设置邮件的发送时间,默认立即发送
        msg.setSentDate(new Date());
        Transport transport = session.getTransport();
        transport.connect();
        transport.sendMessage(msg, msg.getAllRecipients());
        transport.close();
        message.setSentDate(new Date());
        // 发送消息
        Transport.send(message);
        System.out.println("Sent message successfully....");
        return true;
    }
    public static  String getWeek(int language,int i){
        String week="";
        if(language==1){
            switch (i){
                case 1:
                    week="星期一";
                    break;
                case 2:
                    week="星期二";
                    break;
                case 3:
                    week="星期三";
                    break;
                case 4:
                    week="星期四";
                    break;
                case 5:
                    week="星期五";
                    break;
                case 6:
                    week="星期六";
                    break;
                case 7:
                    week="星期天";
                    break;
            }
        }else if(language==2){
            switch (i){
                case 1:
                    week="Monday";
                    break;
                case 2:
                    week="Tuesday";
                    break;
                case 3:
                    week="Wednesday";
                    break;
                case 4:
                    week="Thursday";
                    break;
                case 5:
                    week="Friday";
                    break;
                case 6:
                    week="Saturday";
                    break;
                case 7:
                    week="Sunday";
                    break;
            }
        }else {
            switch (i) {
                case 1:
                    week = "Lundi";
                    break;
                case 2:
                    week = "Mardi";
                    break;
                case 3:
                    week = "Mercredi";
                    break;
                case 4:
                    week = "Jeudi";
                    break;
                case 5:
                    week = "Vendredi";
                    break;
                case 6:
                    week = "Samedi";
                    break;
                case 7:
                    week = "Dimanche";
                    break;
            }
        }
        return week;
    }
    public static void main(String[] args) {
        try {
//            String week = getWeek(1, 3);
//            System.out.println(week);
            EmailUtil.send("393733352@qq.com", "验证码",  "<html><span style=\"color:red;\">123456</span></html>");
        } catch (Exception e) {
            e.printStackTrace();