Pu Zhibing
2025-04-12 582893600b9310b881c96f3ffb8ff713481b26fb
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java
@@ -5,6 +5,7 @@
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;
@@ -12,153 +13,160 @@
 * 邮件工具类
 */
public class EmailUtil {
    /*
     * gmail邮箱SSL方式
     */
    private static void gmailssl(Properties props) {
        final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
        props.put("mail.debug", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.ssl.enable", "true");
        props.put("mail.smtp.socketFactory.class", SSL_FACTORY);
        props.put("mail.smtp.port", "465");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.auth", "true");
    }
    //gmail邮箱的TLS方式
    private static void gmailtls(Properties props) {
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "587");
    }
    /**
     * 创建邮件内容
     *
     * @param sentToEmail 接收人邮箱
     * @param subject     设置邮件主题
     * @param content     内容
     * @return
     * @throws Exception
     */
    public static boolean send(String sentToEmail, String subject, String content) throws Exception {
        //1.创建一封邮件的实例对象
        Properties props = new Properties();
        //选择ssl方式
        gmailssl(props);
        final String username = "i-gotech@i-go.group";// gmail 邮箱
        final String password = "mbhyptngnvlewdxo";// Google应用专用密码
        Session session = Session.getInstance(props,
                new Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(username, password);
                    }
                });
        // 创建默认的MimeMessage对象
        MimeMessage message = new MimeMessage(session);
        // 设置发件人
        message.setFrom(new InternetAddress(username));
        // 设置收件人
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(sentToEmail));
        // 设置邮件主题
        message.setSubject(subject,"UTF-8");
        // 设置邮件内容
        MimeBodyPart text = new MimeBodyPart();
        text.setContent(content,"text/html;charset=UTF-8");
        MimeMultipart mimeMultipart = new MimeMultipart();
        mimeMultipart.addBodyPart(text);
        mimeMultipart.setSubType("related");
        message.setContent(mimeMultipart);
        //设置邮件的发送时间,默认立即发送
        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 mardi ";
                    break;
                case 3:
                    week = "mercredi";
                    break;
                case 4:
                    week = "jeudi";
                    break;
                case 5:
                    week = "vendredi";
                    break;
                case 6:
                    week = "Samedi samedi";
                    break;
                case 7:
                    week = "dimanche";
                    break;
            }
        }
        return week;
    }
   /*
    * gmail邮箱SSL方式
    */
   private static void gmailssl(Properties props) {
      final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
      props.put("mail.debug", "true");
      props.put("mail.smtp.host", "smtp.gmail.com");
      props.put("mail.smtp.ssl.enable", "true");
      props.put("mail.smtp.socketFactory.class", SSL_FACTORY);
      props.put("mail.smtp.port", "465");
      props.put("mail.smtp.socketFactory.port", "465");
      props.put("mail.smtp.auth", "true");
   }
   //gmail邮箱的TLS方式
   private static void gmailtls(Properties props) {
      props.put("mail.smtp.auth", "true");
      props.put("mail.smtp.starttls.enable", "true");
      props.put("mail.smtp.host", "smtp.gmail.com");
      props.put("mail.smtp.port", "587");
   }
   /**
    * 创建邮件内容
    *
    * @param sentToEmail 接收人邮箱
    * @param subject     设置邮件主题
    * @param content     内容
    * @return
    * @throws Exception
    */
   public static boolean send(String sentToEmail, String subject, String content) throws Exception {
      //1.创建一封邮件的实例对象
      Properties props = new Properties();
      //选择ssl方式
      gmailssl(props);
      final String displayName = "I-GO";//昵称
      final String username = "i-gotech@i-go.group";// gmail 邮箱
      final String password = "mbhyptngnvlewdxo";// Google应用专用密码
      Session session = Session.getInstance(props,
            new Authenticator() {
               protected PasswordAuthentication getPasswordAuthentication() {
                  return new PasswordAuthentication(username, password);
               }
            });
      // 创建默认的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();
      text.setContent(content, "text/html;charset=UTF-8");
      MimeMultipart mimeMultipart = new MimeMultipart();
      mimeMultipart.addBodyPart(text);
      mimeMultipart.setSubType("related");
      message.setContent(mimeMultipart);
      //设置邮件的发送时间,默认立即发送
      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 mardi ";
               break;
            case 3:
               week = "mercredi";
               break;
            case 4:
               week = "jeudi";
               break;
            case 5:
               week = "vendredi";
               break;
            case 6:
               week = "Samedi samedi";
               break;
            case 7:
               week = "dimanche";
               break;
         }
      }
      return week;
   }
}