java 发送邮件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 发送邮件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4211字,纯文字阅读大概需要7分钟。
内容图文
![java 发送邮件](/upload/InfoBanner/zyjiaocheng/589/6ade169387954faf8c17729d62bab756.jpg)
一,启用smtp
我用的163邮箱。
记得新增授权码
二,pom
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </dependency>
三,application.xml
<!-- 邮件配置 Begin--> <bean id="javaMail" class="com.kintech.common.utils.JavaMail" autowire="byType" /> <bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl" p:host="smtp.163.com" p:port="25" p:protocol="smtp" p:username="邮箱" p:password="授权码"> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> </props> </property> </bean> <bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer" p:templateLoaderPath="classpath:mailTemplate/"> <property name="freemarkerSettings"> <props> <prop key="template_update_delay">1800</prop> <prop key="default_encoding">UTF-8</prop> <prop key="locale">zh_CN</prop> </props> </property> </bean> <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor" p:corePoolSize="10" p:maxPoolSize="30" /> <!-- 邮件配置 End-->
四,java mail 工具类
package com.kintech.common.utils; import java.io.File; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.apache.log4j.Logger; import org.springframework.core.io.ClassPathResource; import org.springframework.core.task.TaskExecutor; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.ui.freemarker.FreeMarkerTemplateUtils; import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; import com.kintech.common.utils.log.LogerHelper; import freemarker.template.Template; /** * 发送邮件工具类 * @author helka067 */ @SuppressWarnings(value={"rawtypes","unchecked"}) public class JavaMail { private static Logger logger = Logger.getLogger(JavaMail.class); private JavaMailSenderImpl sender; private FreeMarkerConfigurer freeMarkerConfigurer; private TaskExecutor taskExecutor;// 拥有异步执行能力的任务执行器 public JavaMail(JavaMailSenderImpl sender, FreeMarkerConfigurer freeMarkerConfigurer, TaskExecutor taskExecutor) { super(); this.sender = sender; this.freeMarkerConfigurer = freeMarkerConfigurer; this.taskExecutor = taskExecutor; } public void sendMail(String[] receiver ,String subject,String content) throws MessagingException { MimeMessage msg = sender.createMimeMessage(); //MimeMessageHelper helper = new MimeMessageHelper(msg,false,"utf-8"); MimeMessageHelper helper = new MimeMessageHelper(msg,true,"utf-8"); helper.setFrom(sender.getUsername()); // String recipients = PropertiesUtil.getEnvField("recipients");// helper.setTo(receiver); helper.setSubject("Subject:Test"); helper.setSentDate(DateUtil.getCurDate()); String htmlText="content test"; helper.setText(htmlText, true); sender.send(msg); } //异步发送 public void sendAsyncMail() { taskExecutor.execute(new Runnable() { public void run() { try { sendMail(......);// 异步调用 logger.info("邮件发送成功!"); } catch (Exception e) { logger.error("邮件发送失败!,异常信息:" + LogerHelper.getPrintStr(e)); } } }); } //演示发送附件 public void sendTemplateMail() throws MessagingException { MimeMessage msg = sender.createMimeMessage(); //MimeMessageHelper helper = new MimeMessageHelper(msg,false,"utf-8"); MimeMessageHelper helper = new MimeMessageHelper(msg,true,"utf-8"); helper.setFrom(sender.getUsername()); String recipients = PropertiesUtil.getEnvField("recipients");// helper.setTo(recipients.split(",")); helper.setSubject("Subject"); helper.setSentDate(DateUtil.getCurDate()); String htmlText = "content";// 使用模板产生HTML 邮件体内容 helper.setText(htmlText, true); // 增加附件 File img = new File("/fgdf.jpg"); helper.addInline("myImg", img); /*File file = new File("xxx.zip"); helper.addAttachment("xxx.zip", file); */ ClassPathResource file2 = new ClassPathResource("log4j\\log4j.properties"); helper.addAttachment("log4j.properties", file2); sender.send(msg); } }
五,调用
@RequestMapping(value = "test2", method = RequestMethod.POST) public String test2(JavaMailRequest request) throws Exception { jml.sendMail(request.getReceiver(),request.getSubject(),request.getContent()); return "ok"; }
六,结果
内容总结
以上是互联网集市为您收集整理的java 发送邮件全部内容,希望文章能够帮你解决java 发送邮件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。