Spring中javaMail通过SMTP发送邮件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Spring中javaMail通过SMTP发送邮件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3058字,纯文字阅读大概需要5分钟。
内容图文
public final class Emails {
/** The java mail sender. */
private static JavaMailSender javaMailSender;
/**
* Send.
*
* @param emailData
* the email data
*/
public static void send(EmailConfig.EmailData emailData) {
EmailOrSmsLogEntity emailOrSmsLogEntity = new EmailOrSmsLogEntity();
emailOrSmsLogEntity.setMessageType(MessageType.Email);
emailOrSmsLogEntity.revodeIp();
try {
JavaMailSender javaMailSender = mailDefaultSender();
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(message,
true, Constants.DEFAULT_ENCODING);
messageHelper.setFrom(emailData.getFrom());
emailOrSmsLogEntity.setFrom(emailData.getFrom());
messageHelper.setTo(emailData.to());
emailOrSmsLogEntity.setTo(StringUtils.join(emailData.to(), ","));
messageHelper.setSubject(emailData.getTitle());
emailOrSmsLogEntity.setSubject(emailData.getTitle());
messageHelper.setText(emailData.getContent(), true);
emailOrSmsLogEntity.setText(emailData.getContent());
Collection<File> files = emailData.getAttachment();
if (files != null) {
List<String> fileNames = Lists.newArrayList();
for (File file : files) {
messageHelper.addAttachment(file.getName(), file);
fileNames.add(file.getName());
}
emailOrSmsLogEntity.addFeatures(EmailOrSmsLogEntity.FILETAG,
StringUtils.join(fileNames, ","));
}
javaMailSender.send(message);
emailOrSmsLogEntity.setSuccess(true);
} catch (Exception e) {
e.printStackTrace();
emailOrSmsLogEntity.setSuccess(false);
emailOrSmsLogEntity.setFailure(Throwables.getStackTraceAsString(e));
}
emailOrSmsLogEntity.createOrUpdate();
}
/**
* Aysn send.
*
* @param emailData
* the email data
*/
public static void aysnSend(final EmailConfig.EmailData emailData) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
send(emailData);
}
});
}
/**
* Mail default sender.
*
* @return the java mail sender
*/
public static JavaMailSender mailDefaultSender() {
return mailSender(SysConfigEntity.config());
}
/**
* Mail sender.
*
* @param config
* the config
* @return the java mail sender
*/
private static JavaMailSender mailSender(EmailConfig config) {
JavaMailSender javaMailSender = mailSender();
if (javaMailSender instanceof JavaMailSenderImpl && config != null) {
JavaMailSenderImpl impl = (JavaMailSenderImpl) javaMailSender;
if (config.getMailHost() != null)
impl.setHost(config.getMailHost());
if (config.getMailPost() != null)
impl.setPort(config.getMailPost());
if (config.getMailUserName() != null)
impl.setUsername(config.getMailUserName());
if (config.getMailPassWord() != null)
impl.setPassword(CryptoUtils.aesDecryptFromHex(
config.getMailPassWord(), KeyConstants.mailPassWord));
}
return javaMailSender;
}
/**
* Mail sender.
*
* @return the java mail sender
*/
private static JavaMailSender mailSender() {
if (javaMailSender != null)
return javaMailSender;
synchronized (Emails.class) {
javaMailSender = Utils.Container.getBean(JavaMailSender.class);
}
return javaMailSender;
}
}
原文:http://www.cnblogs.com/wjlstation/p/5639729.html
内容总结
以上是互联网集市为您收集整理的Spring中javaMail通过SMTP发送邮件全部内容,希望文章能够帮你解决Spring中javaMail通过SMTP发送邮件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。