package cn.ucmed.otaka.healthcare.rubik.common; import lombok.extern.slf4j.Slf4j; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Date; import java.util.Properties; import java.util.regex.Pattern; @Slf4j public class EmailUtil { private static String emailRegular = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$"; public static boolean validEmail(String emailAddress) { return Pattern.matches(emailRegular,emailAddress); } private static String fromMailAddress = "邮箱地址"; private static String fromMailPwd = "邮箱密码"; private static String fromMailSMTPHost = "smtp.exmail.qq.com"; private static String smtpPort = "465"; private static Properties setProperties() { Properties properties = new Properties(); properties.setProperty("mail.transport.protocol","smtp"); properties.setProperty("mail.smtp.host",fromMailSMTPHost); properties.setProperty("mail.smtp.auth","true"); properties.setProperty("mail.smtp.port",smtpPort); properties.setProperty("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory"); properties.setProperty("mail.smtp.socketFactory.fallback","false"); properties.setProperty("mail.smtp.socketFactory.port",smtpPort); properties.setProperty("mail.smtp.ssl.enable","true"); properties.setProperty("mail.debug","true"); return properties; } private static Message setMail(Session session,String toEmailAdress,String emailTitle,String emailContent) throws Exception { MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(fromMailAddress,fromMailAddress,"UTF-8")); message.setRecipient(Message.RecipientType.TO,new InternetAddress(toEmailAdress,toEmailAdress,"UTF-8")); message.setSubject(emailTitle); message.setContent(emailContent,"text/html;charset=utf-8"); message.setSentDate(new Date()); message.saveChanges(); return message; } private static Session setSession() { Properties properties = setProperties(); Session session = Session.getInstance(properties); session.setDebug(true); return session; } public static boolean sendEmail(String toEmailAdress,String emailContent,String emailTitle) { Session session = setSession(); try { Message message = setMail(session,emailTitle,emailContent); Transport transport = session.getTransport(); transport.connect(fromMailAddress,fromMailPwd); transport.sendMessage(message,message.getAllRecipients()); transport.close(); } catch (Exception e) { log.error("toEmailAdress = " + toEmailAdress + ",emailContent = " + emailContent + ",emailTitle = " + emailTitle + ",error = " + e.getMessage()); return false; } return true; } public static void main(String[] args) { EmailUtil.sendEmail("[email protected]","testContent","testTitle"); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。