spring mail
程序员文章站
2022-07-14 13:49:38
...
转自:http://hrz520520.blog.hexun.com/29777240_d.html
第二次看<Spring2.0技术手册>,第二次读到了9.2章节"邮件"
终于知道了如何用Spring来编写代码发送邮件.
先看看书上的例子代码:/
这段代码一般会报错,因为:
当今mail服务器大多都是通过认证才能发信的,现在的网上介绍JavaMail发信的文章都没有深入到有关认证的方面,除非自己装一个open relay的mail服务器.
所以应该加上这段代码
运行程序,OK,邮件发送成功!
还有:这是从<Spring2.0技术手册>的作者林信良的播客上摘录下来的:
#Levin 发表于2006-08-11 09:59:00 IP: 60.63.93.*
林老师,在您的《Spring技术手册》第九章9.2邮件服务SimpleMailDemo中,程序执行时抱错,需要什么
验证,您能帮解决一下吗?
源程序:
第二次看<Spring2.0技术手册>,第二次读到了9.2章节"邮件"
终于知道了如何用Spring来编写代码发送邮件.
先看看书上的例子代码:/
public class SimpleMailDemo { public static void main(String[] args) { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl() ; // 设置 Mail Server senderImpl.setHost("smtp.sina.com.cn") ; // 建立邮件消息 SimpleMailMessage mailMessage = new SimpleMailMessage() ; // 设置邮件消息:收件人,寄件人,主题与正文 mailMessage.setTo(someone@gmail.com) ; mailMessage.setFrom(test@sina.com) ; mailMessage.setSubject("Test JavaMail") ; mailMessage.setText("This is a test !!! send mail with spring!") ; // 传送邮件 senderImpl.send(mailMessage) ; System.out.println("邮件传送OK...") ;
这段代码一般会报错,因为:
当今mail服务器大多都是通过认证才能发信的,现在的网上介绍JavaMail发信的文章都没有深入到有关认证的方面,除非自己装一个open relay的mail服务器.
所以应该加上这段代码
senderImpl.setUsername("test@sina.com") ; // 根据自己的情况,设置username senderImpl.setPassword("123456") ; // 根据自己的情况, 设置password Properties prop = new Properties() ;//很关键,此行。 prop.put("mail.smtp.auth", "true") ;// 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确 senderImpl.setJavaMailProperties(prop) ;
运行程序,OK,邮件发送成功!
还有:这是从<Spring2.0技术手册>的作者林信良的播客上摘录下来的:
#Levin 发表于2006-08-11 09:59:00 IP: 60.63.93.*
林老师,在您的《Spring技术手册》第九章9.2邮件服务SimpleMailDemo中,程序执行时抱错,需要什么
验证,您能帮解决一下吗?
源程序:
package com.eimagesoft; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.SimpleMailMessage; public class SimpleMail { public static void main(String[] args) throws Exception { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); senderImpl.setHost("smtp.163.com"); SimpleMailMessage mailMessage = new SimpleMailMessage(); mailMessage.setTo("zhanganjie001@sina.com.cn"); mailMessage.setFrom("zhanganjie001@163.com"); mailMessage.setSubject("Test"); mailMessage.setText("This is a test!!!"); senderImpl.send(mailMessage); System.out.println("邮件传送OK.."); } } 下面是错误提示: Exception in thread "main" org.springframework.mail.MailSendException: Could not send mails: 553 authentication is required,smtp5,wKjRECjAIgEe4NtEmNYpAQ==.16534S2 com.sun.mail.smtp.SMTPSendFailedException: 553 authentication is required,smtp5,wKjRECjAIgEe4NtEmNYpAQ==.16534S2 at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1275) at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:895)
上一篇: 谈谈Javascript的this指针
下一篇: JavaScript 拖放效果系列一
推荐阅读
-
详解Spring Hibernate连接oracle数据库的配置
-
JSP开发之Spring方法注入之替换方法实现
-
JSP Spring配置文件中传值的实例详解
-
spring为java.util.Properties类型的属性进行赋值过程解析
-
Spring AOP定义AfterReturning增加实例分析
-
spring级联属性赋值的两种方式解析
-
spring如何使用命名空间p简化bean的配置
-
JSP Spring防止用户重复登录的实现方法
-
JSP 开发之Spring Boot 动态创建Bean
-
spring5 源码深度解析----- 被面试官给虐懵了,竟然是因为我不懂@Configuration配置类及@Bean的原理