使用Spring JavaMailSenderImpl发送邮件报错:
详细信息:
javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. u12sm73042tia.38
at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:879)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:599)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:319)
at com.roadway.edmail.util.JMail2.sendMail(JMail2.java:278)
at com.roadway.edmail.bo.feedback.FeedbackSender.sender(FeedbackSender.java:72)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:59)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
原因是用gmail邮件进行发送,需要添加一下参数:
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.smtp.socketFactory.fallback", "false");
properties.setProperty("mail.smtp.port", "465");
properties.setProperty("mail.smtp.socketFactory.port", "465");
发送Mail实例代码
//检测收件地址合法性
if(toAry == null || toAry.length == 0 || toAry[0] == null || "".equals(toAry[0])){
if(this.logger.isErrorEnabled()){
this.logger.error("Recipient found empty while sending a mail,Mail subject is : " + mailSubject);
}
return "Recipient is empty";
}
JavaMailSenderImpl javaMailSender = (JavaMailSenderImpl)AppUtil.getBean("mailSender");
//检测是否为smtp.gmail.com
if(javaMailSender.getHost().indexOf("smtp.gmail.com") >=0 ){
Properties properties = javaMailSender.getJavaMailProperties();
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.smtp.socketFactory.fallback", "false");
properties.setProperty("mail.smtp.port", "465");
properties.setProperty("mail.smtp.socketFactory.port", "465");
javaMailSender.setJavaMailProperties(properties);
}
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, fileAry != null);
//设置发送者
mimeMessageHelper.setFrom(from == null ? this.defaultFrom : from);
//设置接受者
mimeMessageHelper.setTo(toAry);
//设置抄送者
if(cc != null && !"".equals(cc))
mimeMessageHelper.setCc(cc);
//设置回复者
if(replyTo != null && !"".equals(replyTo))
mimeMessageHelper.setReplyTo(replyTo);
//邮件主题
mimeMessageHelper.setSubject(mailSubject);
//邮件正文
mimeMessageHelper.setText(templateStr,true);
//判断资源文件列表是否为空
if(fileAry != null){
if(flag){//若为嵌入式资源
for(int i = 0; i < fileAry.length; i++)
mimeMessageHelper.addInline(stringAry[i], fileAry[i]);
}else{
for(int i = 0; i < fileAry.length; i++)
mimeMessageHelper.addAttachment(stringAry[i], fileAry[i]);
}
}
//发送
javaMailSender.send(mimeMessage);
分享到:
相关推荐
赠送jar包:kahadb-5.7.0.jar; 赠送原API文档:kahadb-5.7.0-javadoc.jar; 赠送源代码:kahadb-5.7.0-sources.jar; 包含翻译后的API文档:kahadb-5.7.0-javadoc-API文档-中文(简体)版.zip 对应Maven信息:...
电脑需先安装Keil MDK5。此固件库为Keil官方提供,直接双击安装即可,安装成功后在MDK5工程的Device中验证,或者在PACK安装页面选择File->Import 官网下载比较慢,为方便大家提供分享
qt5.7.0-linux-static.tar.gz,qt5.7.0 Linux静态库,注意配置安装路径或修改qmake路径
赠送jar包:activemq-core-5.7.0.jar; 赠送原API文档:activemq-core-5.7.0-javadoc.jar; 赠送源代码:activemq-core-5.7.0-sources.jar; 包含翻译后的API文档:activemq-core-5.7.0-javadoc-API文档-中文...
keil pack cmsis 5.7.0 keil官网下载慢,打开keil- 项目- 管理-安装包,再直接拖到进去就可以了。
PhotoFancie 拼贴制作器v5.7.0高级版.txt打包整理.zip
ARM.CMSIS.5.3.0 ARM.CMSIS.5.7.0和4.2.0.zip
junit-jupiter-api-5.7.0.jar
赠送jar包:kahadb-5.7.0.jar; 赠送原API文档:kahadb-5.7.0-javadoc.jar; 赠送源代码:kahadb-5.7.0-sources.jar; 包含翻译后的API文档:kahadb-5.7.0-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven...
太极xposed5.7.0安装包,官网下载备份,使用需要手机root,不提供具体的插件。 taichi_.5.7.0-release.apk
赠送jar包:activemq-core-5.7.0.jar; 赠送原API文档:activemq-core-5.7.0-javadoc.jar; 赠送源代码:activemq-core-5.7.0-sources.jar; 包含翻译后的API文档:activemq-core-5.7.0-javadoc-API文档-中文...
在低版本的PowerShell上发送邮件可以借助.NET的system.net.mail.smtpclient类。在高版本的PowerShell中可以借助现成的命令:... The server response was: 5.7.0 Must issue a STARTTLS command first 后来发现是没
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、...
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、...
ARM.CMSIS.5.1.0.pack和ARM.CMSIS.5.2.0.pack
FlyClockV5.7.0.exe
ARM.CMSIS.5.7.0.zip
qt-opensource-windows-x86-mingw530-5.7.0 单个exe文件上传受限制,这只是压缩包第一部分,需要下载第二部分才能使用。
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、...
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、...