| | |
| | | package com.stylefeng.guns.modular.system.util; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TEmail; |
| | | import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; |
| | | 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.File; |
| | | import java.io.FileInputStream; |
| | | import java.io.FileOutputStream; |
| | | import java.io.FileWriter; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.util.Date; |
| | | import java.util.Properties; |
| | | |
| | |
| | | Properties props = new Properties(); |
| | | //选择ssl方式 |
| | | gmailssl(props); |
| | | |
| | | |
| | | final String displayName = "I-GO";//昵称 |
| | | final String username = "i-gotech@i-go.group";// gmail 邮箱 |
| | | final String password = "mhizkqkhuknbitps";// Google应用专用密码 |
| | | // 当做多商户的时候需要使用getInstance, 如果只是一个邮箱发送的话就用getDefaultInstance |
| | | // Session.getDefaultInstance 会将username,password保存在session会话中 |
| | | // Session.getInstance 不进行保存 |
| | | 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){ |
| | |
| | | }else { |
| | | switch (i) { |
| | | case 1: |
| | | week = "lundi"; |
| | | week = "Lundi"; |
| | | break; |
| | | case 2: |
| | | week = "Mardi mardi "; |
| | | week = "Mardi"; |
| | | break; |
| | | case 3: |
| | | week = "mercredi"; |
| | | week = "Mercredi"; |
| | | break; |
| | | case 4: |
| | | week = "jeudi"; |
| | | week = "Jeudi"; |
| | | break; |
| | | case 5: |
| | | week = "vendredi"; |
| | | week = "Vendredi"; |
| | | break; |
| | | case 6: |
| | | week = "Samedi samedi"; |
| | | week = "Samedi"; |
| | | break; |
| | | case 7: |
| | | week = "dimanche"; |
| | | week = "Dimanche"; |
| | | break; |
| | | } |
| | | } |
| | |
| | | |
| | | 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>"); |
| | | // 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(); |
| | | } |