使用spring的JavaMailSender发送邮件
来源:互联网 发布:女生 喜欢的男人 知乎 编辑:程序博客网 时间:2024/06/06 19:30
参考 http://www.blogjava.NET/fancydeepin/category/51935.html
1、如果是maven项目,需要引入依赖包
- <dependency>
- <groupId>javax.mail</groupId>
- <artifactId>mail</artifactId>
- <version>1.4.4</version>
- </dependency>
2、在项目加载的basic.xml中,配置两个bean:JavaMailSenderImpl和SimpleMailMessage,在后续发送邮件中通过这两个类进行发送。- <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
- <property name="host" >
- <value>----</value>
- </property>
- <property name="port" >
- <value type="java.lang.Integer">----</value>
- </property>
- <property name="protocol">
- <value>smtps</value>
- </property>
- <property name="username">
- <value>----</value>
- </property>
- <property name="password">
- <value>----</value>
- </property>
-
- <property name="javaMailProperties">
- <props>
-
- <prop key="mail.smtps.auth">true</prop>
- <prop key="mail.smtp.ssl.enable">true</prop>
- <prop key="mail.transport.protocol">smtps</prop>
- </props>
- </property>
- </bean>
-
- <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage">
- <property name="from">
- <value>${notify_service.smtp_mail.username}</value>
- </property>
- </bean>
3、在实际发送的class里面调用- private MailSender mailSender;
- private SimpleMailMessage simpleMailMessage;
-
-
-
- simpleMailMessage.setTo(sendTo);
- simpleMailMessage.setSubject(subject);
- simpleMailMessage.setText(content);
- mailSender.send(simpleMailMessage);
另外如果是发送HTML格式的邮件 参考:http://www.blogjava.Net/fancydeepin/archive/2012/06/12/spring-smtp-mail-with-attachment_maven3.html
- import javax.mail.MessagingException;
- import javax.mail.internet.MimeMessage;
-
- import org.springframework.mail.SimpleMailMessage;
- import org.springframework.mail.javamail.JavaMailSender;
- import org.springframework.mail.javamail.MimeMessageHelper;
-
- private JavaMailSender javaMailSender;
- private MimeMessage mimeMessage;
- private MimeMessageHelper mimeMessageHelper;
- private SimpleMailMessage simpleMailMessage;
-
- try {
- mimeMessage = javaMailSender.createMimeMessage();
- mimeMessageHelper = new MimeMessageHelper(mimeMessage,true,"GBK");
- mimeMessageHelper.setFrom(simpleMailMessage.getFrom());
- mimeMessageHelper.setTo(sendTo);
- mimeMessageHelper.setSubject(subject);
- mimeMessageHelper.setText(content);
- javaMailSender.send(mimeMessage);
- catch (MessagingException e) {
- e.printStackTrace();
4、如果不用Spring直接用javamail发送
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- import javax.mail.internet.MimeUtility;
- import javax.mail.Session;
- import javax.mail.MessagingException;
- import javax.mail.Transport;
-
- public class SendHtmlMail {
- public void sendmail(){
-
-
-
- JavaMailSender sender = new JavaMailSenderImpl();
-
-
-
- ((JavaMailSenderImpl)sender).setHost("smtp.sohu.com");
-
- ((JavaMailSenderImpl)sender).setUsername("userName");
-
- ((JavaMailSenderImpl)sender).setPassword("password");
-
-
- Properties pro = System.getProperties();
-
-
-
- pro.put("mail.smtp.auth", "true");
- pro.put("mail.smtp.socketFactory.port", "25");
- pro.put("mail.smtp.socketFactory.fallback", "false");
-
-
- ((JavaMailSenderImpl)sender).setJavaMailProperties(pro);
-
-
-
- MailMessage mailMessage = new SimpleMailMessage();
-
-
- mailMessage.setFrom("******@sohu.com");
-
- mailMessage.setSubject("测试邮件");
-
- mailMessage.setText("测试");
-
- mailMessage.setTo("******@qq.com");
-
-
-
-
- sender.send((SimpleMailMessage)mailMessage);
-
- }
- }
5、javaMail发送HTML个是的邮件
- public void sendMimeMail() throws MessagingException{
-
-
-
- JavaMailSender mimeMailSender = new JavaMailSenderImpl();
-
-
- ((JavaMailSenderImpl)mimeMailSender).setHost("smtp.sohu.com");
-
- ((JavaMailSenderImpl)mimeMailSender).setUsername("userName");
-
- ((JavaMailSenderImpl)mimeMailSender).setPassword("password");
-
-
- Properties pro = System.getProperties();
-
-
-
- pro.put("mail.smtp.auth", "true");
- pro.put("mail.smtp.socketFactory.port", "25");
- pro.put("mail.smtp.socketFactory.fallback", "false");
-
- ((JavaMailSenderImpl)mimeMailSender).setJavaMailProperties(pro);
-
-
- MimeMessage mimeMessage = ((JavaMailSenderImpl)mimeMailSender).createMimeMessage();
-
-
- MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "GBK");
-
-
-
-
- helper.setFrom("*******@sohu.com");
-
- helper.setSubject("测试邮件");
-
- helper.setText("测试");
-
- helper.setTo("******@qq.com");
-
-
-
-
-
- File myPicture = new File("C:\\Documents and Settings\\Administrator\\桌面\\kz2.jpg");
-
-
- helper.setText("<html><head><meta http-equiv="+"Content-Type"+" content="+"text/html; charset=gb2312"+"></head><body><h1>新书快递通知</h1>你的新书快递申请已推送新书,请到<a href=''>空间"
- + "</a>中查看<br><img src='cid:myPicture'></body></html>", true);
-
-
- helper.addInline("myPicture", myPicture);
-
-
- File file = new File("C:\\Documents and Settings\\Administrator\\桌面\\validate.jar");
- helper.addAttachment("picture", myPicture);
- helper.addAttachment("picture", file);
-
- ((JavaMailSender)mimeMailSender).send(mimeMessage);
-
- System.out.println("发送成功");
- }
0 0