package cn.ictgu.tools.mail; import cn.ictgu.serv.model.User; import com.alibaba.fastjson.JSONObject; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; /** * 邮件服务 * Created by Silence on 2017/3/11. */ @Service @Log4j2 public class MailService { @Autowired private JavaMailSender mailSender; @Value("${spring.mail.username}") private String from; private static final String TITLE_SIGN_UP = "欢迎加入沧海云视频"; private static final String CONTENT = "<style type=\"text/css\">@media screen and (max-width:525px){table[class=responsive-table]{width:100%%!important;}td[class=padding]{padding:30px 8%% 35px 8%%!important;}td[class=padding2]{padding:30px 4%% 10px 4%%!important;text-align:left;}}@media all and (-webkit-min-device-pixel-ratio:1.5){body[yahoo] .zhwd-high-res-img-wrap{background-size:contain;background-position:center;background-repeat:no-repeat;}body[yahoo] .zhwd-high-res-img-wrap img{display:none!important;}body[yahoo] .zhwd-high-res-img-wrap.zhwd-hoho-logo{width:71px;height:54px;}}</style><div><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%%\"><tbody><tr><td bgcolor=\"#f7f9fa\" align=\"center\" style=\"padding:22px 0 20px 0\" class=\"responsive-table\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"background-color:f7f9fa;border-radius:3px;border:1px solid #dedede;margin:0 auto;background-color:#fff\" width=\"552\" class=\"responsive-table\"><tbody><tr><td bgcolor=\"#D9534F\" height=\"54\" align=\"center\" style=\"border-top-left-radius:3px;border-top-right-radius:3px\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%%\"><tbody><tr><td align=\"center\" class=\"zhwd-high-res-img-wrap zhwd-hoho-logo\"><p width=\"71\" height=\"54\" style=\"outline:0;display:block;font-size:22px;color:#fff\">V++</p></td></tr></tbody></table></td></tr><tr><td bgcolor=\"#ffffff\" align=\"center\" style=\"padding:0 15px 0 15px\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"480\" class=\"responsive-table\"><tbody><tr><td><table width=\"100%%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr><td><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"left\" class=\"responsive-table\"><tbody><tr><td width=\"550\" align=\"left\" valign=\"top\"><table width=\"100%%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr><td bgcolor=\"#ffffff\" align=\"left\" style=\"font-size:17px;color:#7b7b7b;padding:28px 0 0;line-height:25px\"><br><b>%s,您好!</b></td></tr><tr><td align=\"left\" valign=\"top\" style=\"font-size:15px;color:#7b7b7b;font-size:14px;line-height:25px;font-family:Hiragino Sans GB;padding:20px 0 20px 0\">欢迎加入沧海云,离注册成功只差一步啦,请点击以下链接完成注册!</td></tr><tr><td style=\"border-bottom:1px #D9534F solid;padding:10px 0 35px 0\" align=\"center\" class=\"padding\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"responsive-table\"><tbody><tr><td><span style=\"font-family:Hiragino Sans GB;font-size:17px\"><a style=\"text-decoration:none;color:#fff\" target=\"_blank\" href=\"%s\"><div style=\"padding:10px 25px;border-radius:3px;text-align:center;background-color:#339DEC;margin:0;white-space:nowrap;color:#fff\"><b>确认注册</b></div></a></span></td></tr></tbody></table></td></tr><tr><td align=\"left\" valign=\"top\" style=\"font-size:15px;color:#7b7b7b;font-size:14px;line-height:25px;font-family:Hiragino Sans GB;padding:20px 0 35px 0\">如果以上链接无法访问,请将以下网址复制并粘贴至新的浏览器窗口中。<br>%s<br><br><p align=\"right\">沧海云团队</p><br></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></div><div><div><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%%\"><tbody><tr><td bgcolor=\"#f7f9fa\" align=\"center\"><table width=\"552\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\" class=\"responsive-table\"><tbody><tr><td align=\"center\" valign=\"top\" bgcolor=\"#f7f9fa\" style=\"font-family:Hiragino Sans GB;font-size:12px;color:#b6c2cc;line-height:17px;padding:0 0 25px 0\">这封邮件的收件地址是 %s<br></td></tr></tbody></table></td></tr></tbody></table></div></div>"; public void userValidate(User user, String token){ MimeMessage mailMessage = mailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(mailMessage, true, "GBK"); helper.setFrom(from); helper.setTo(user.getEmail()); helper.setSubject(TITLE_SIGN_UP); String link = "http://www.ictgu.cn/validate/" + token; String message = String.format(CONTENT, user.getNickname(), link, link, user.getEmail()); helper.setText(message, true); mailSender.send(mailMessage); } catch (MessagingException e) { log.error("发送邮件失败:User:" + JSONObject.toJSONString(user) + ", Token: " + token); } } }