一、 maven项目下发邮件:
1. 依赖jar包导入
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>
2.spring.xml
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:mail.properties</value> <!-- <value>classpath:myconn.properties</value> --> </list> </property> </bean> <!-- 邮件发送器 163 --> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="${mail.host}" /> <property name="username" value="${mail.username}" /> <property name="password" value="${mail.password}" /> <property name="defaultEncoding" value="UTF-8"></property> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">${mail.smtp.auth}</prop> <prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop> </props> </property> </bean>
3. MailBean.java
public class MailBean { private String from; private String fromName; private String[] toEmails; private String subject; private String context; //get,set方法 }
4. MailSenderService.java
import java.io.UnsupportedEncodingException; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import com.dzt.pojo.MailBean; @Service public class MailSenderService { @Autowired private JavaMailSenderImpl javaMailSenderImpl; /** * @param mailBean * @return * @throws MessagingException * @throws UnsupportedEncodingException */ public MimeMessage createMimeMessage(MailBean mailBean) throws MessagingException, UnsupportedEncodingException{ MimeMessage mimeMessage = javaMailSenderImpl.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); messageHelper.setFrom(mailBean.getFrom(), mailBean.getFromName()); messageHelper.setSubject(mailBean.getSubject()); messageHelper.setTo(mailBean.getToEmails()); messageHelper.setText(mailBean.getContext(), true); // html: true return mimeMessage; } public void sendMail(MailBean mailBean) throws UnsupportedEncodingException, MessagingException{ MimeMessage msg = createMimeMessage(mailBean); javaMailSenderImpl.send(msg); } }
5. MailSenderUtil.java
import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.dzt.pojo.MailBean; import com.dzt.service.MailSenderService; public class MailSenderUtil { /** * * @param args * @throws Exception */ public static void main(String[] args) throws Exception{ ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml"); MailSenderService mailSenderService = (MailSenderService) ac.getBean("mailSenderService"); MailBean mailBean = new MailBean(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = format.format(new Date()); String message="尊敬的互联微网管理员,当前时间 "+dateString+"商城系统定时器已启动。"; mailBean.setFrom("187xxxx2348@163.com"); mailBean.setFromName("187xxxx2348@163.com"); mailBean.setSubject("定时器任务已启动"); mailBean.setToEmails(new String[]{"853xxxx16@qq.com","124xxxxx7@qq.com"}); mailBean.setContext(message); mailSenderService.sendMail(mailBean); System.out.println(message); } }