Java使用Spring发邮件
2018-07-20 来源:open-open
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.MailSender; import org.springframework.mail.SimpleMailMessage; import org.springframework.stereotype.Service; @Service("mailService") public class MailService { @Autowired private MailSender mailSender; @Autowired private SimpleMailMessage alertMailMessage; public void sendMail(String from, String to, String subject, String body) { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom(from); message.setTo(to); message.setSubject(subject); message.setText(body); mailSender.send(message); } public void sendAlertMail(String alert) { SimpleMailMessage mailMessage = new SimpleMailMessage(alertMailMessage); mailMessage.setText(alert); mailSender.send(mailMessage); } }
用了spring就得配置xml,配置文件如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd" > <context:component-scan base-package="cn.outofmemory.spring.mail" /> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.gmail.com"/> <property name="port" value="25"/> <property name="username" value="myusername@gmail.com"/> <property name="password" value="mypassword"/> <property name="javaMailProperties"> <props> <!-- Use SMTP transport protocol --> <prop key="mail.transport.protocol">smtp</prop> <!-- Use SMTP-AUTH to authenticate to SMTP server --> <prop key="mail.smtp.auth">true</prop> <!-- Use TLS to encrypt communication with SMTP server --> <prop key="mail.smtp.starttls.enable">true</prop> <prop key="mail.debug">true</prop> </props> </property> </bean> <bean id="alertMailMessage" class="org.springframework.mail.SimpleMailMessage"> <property name="from"> <value>myusername@gmail.com</value> </property> <property name="to"> <value>myusername@gmail.com</value> </property> <property name="subject" value="Alert - Exception occurred. Please investigate"/> </bean> </beans>
如果你要用Gmail发邮件,需要确认JavaMail属性正确配置:
host=smtp.gmail.com port=25 username=your-gmail-username password=your-gmail-password mail.transport.protocol=smtp mail.smtp.auth=true mail.smtp.starttls.enable=true最后是测试代码:
import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class MailServiceTest { public static void main(String[] args) { ApplicationContext context = new FileSystemXmlApplicationContext("conf/spring.xml"); MailService mailService = (MailService) context.getBean("mailService"); mailService.sendMail("myusername@gmail.com", "myusername@gmail.com", "Testing123", "Testing only \n\n Hello Spring Email Sender"); mailService.sendAlertMail("Exception occurred"); } }
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:取得Java虚拟机的启动时间
下一篇:jdbc批量数据插入的代码
最新资讯
热门推荐