From 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 16 五月 2025 10:27:41 +0800 Subject: [PATCH] 修改文档bug --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java | 233 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 155 insertions(+), 78 deletions(-) diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java index 31c06b5..f4a5724 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java +++ b/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,82 +13,158 @@ * 邮件工具类 */ 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 = "southwindservice@gmail.com";// gmail 邮箱 - final String password = "ogsntijmguisoiuk";// Google应用专用密码 - // 当做多商户的时候需要使用getInstance, 如果只是一个邮箱发送的话就用getDefaultInstance - // Session.getDefaultInstance 会将username,password保存在session会话中 - // Session.getInstance 不进行保存 - 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. 创建文本"节点" - 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); - //设置邮件的发送时间,默认立即发送 - msg.setSentDate(new Date()); - - Transport.send(msg); - return 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 = "wpwfkrlvridoayyh";// 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; + } + + /* + * 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"); + } + + 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; + } } -- Gitblit v1.7.1