spring发送邮件
spring发送邮件已经有实现类,可以在方法中直接使用或通过配置bean使用。
首先导入依赖的jar包:
首先导入依赖的jar包:
<dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.1</version> </dependency>
public static void main(String[] args){ JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setHost("smtp.163.com"); mailSender.setUsername("seaxiang"); mailSender.setPassword("******"); SimpleMailMessage smm = new SimpleMailMessage(); smm.setFrom("seaxiang_dev@163.com"); smm.setTo("seaxiang@163.com"); smm.setSubject("hi"); smm.setText("hi,this is a test!"); mailSender.send(smm); }
<!-- 邮件工具类 --> <bean id="mailSender" class="com.seaxiang.utils.MailSender"></bean> <!--邮件发送实现类--> <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.163.com"/> <property name="username" value="seaxiang_dev"/> <property name="password" value="***"/> <property name="javaMailProperties"> <props > <prop key="mail.smtp.auth">true</prop> </props> </property> </bean> <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage"> <property name="from" value="seaxiang@163.com" /> <property name="to" value="***@qq.com" /> <property name="subject" value="seaxiang" /> </bean> <!--线程池异步发送邮件--> <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="5" /> <property name="maxPoolSize" value="10" /> <property name="queueCapacity" value="25" /> </bean>
public class MailSender { @Autowired private JavaMailSender javaMailSender; @Autowired private SimpleMailMessage simpleMailMessage; @Autowired private TaskExecutor taskExecutor; /** * 发送邮件 * @param to 收件人邮箱 * @param subject 邮件主题 * @param content 邮件内容 */ public void send(String to, String subject, String content) { this.taskExecutor.execute(new SendMailThread(to, subject, content)); } //内部线程类,利用线程池异步发邮件。 private class SendMailThread implements Runnable { private String to; private String subject; private String content; private SendMailThread(String to, String subject, String content) { super(); this.to = to; this.subject = subject; this.content = content; } public void run() { sendMail(to, subject, content); } /** * 发送邮件 * @param to 收件人邮箱 * @param subject 邮件主题 * @param content 邮件内容 */ private void sendMail(String to, String subject, String content) { if(to != null){ simpleMailMessage.setTo(to);//收件地址 } if(subject != null){ simpleMailMessage.setSubject(subject); } simpleMailMessage.setText(content);//内容 javaMailSender.send(simpleMailMessage); } } }
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦