Thread sendEmail1 = new Thread(new Runnable() {
public void run() {
InputStream ips = this.getClass().getClassLoader().getResourceAsStream("email.properties");
Properties p = new Properties();
try {
p.load(ips);
p.setProperty("mail.smtp.auth", "true");
} catch (IOException e1) {
e1.printStackTrace();
}finally{
try {
ips.close();
} catch (IOException e) {
e.printStackTrace();
}
}
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
JavaMailSenderImpl jms =(JavaMailSenderImpl) ctx.getBean("javamailsenderimpl");
jms.setJavaMailProperties(p);
jms.setDefaultEncoding("utf-8");
jms.setHost(p.getProperty("email.host"));
jms.setPort(Integer.parseInt(p.getProperty("email.port")));
jms.setUsername(p.getProperty("email.username"));
jms.setPassword(p.getProperty("email.password"));
SimpleMailMessage smm = new SimpleMailMessage();
try {
smm.setTo(emailurl);
smm.setFrom(p.getProperty("email.smtpname"));
smm.setSubject(subject);
smm.setText(maincontent);
jms.send(smm);
} catch (Exception e) {
e.printStackTrace();
}
}
});
sendEmail1.start();
}
-----------------applicationContext.xml----------------------------------------------------------------------------------------------------------------------------------------------------
<!-- 邮箱服务器配置 -->
<bean id="javamailsenderimpl" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${email.host}"></property>
<property name="defaultEncoding" value="${email.defaultEncoding}"></property>
<property name="port" value="${email.port}"></property>
<property name="username" value="${email.username}"></property>
<property name="password" value="${email.password}"></property>
</bean>
-----------------email.properties----------------------------------------------------------------------------------------------------------------------------------------------------
email.defaultEncoding=UTF-8
email.host=xxxx
email.port=xxxx
email.username=xxxx
email.password=xxxx
email.smtpname=xxxx
email.timeout=25000
email.auth=xxxx