`
忘忧鸟
  • 浏览: 141860 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JavaMailSenderImpl发送邮件报错:530 5.7.0 Must issue a STARTTLS command first. e3sm1531

阅读更多

使用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);

 

分享到:
评论

相关推荐

    kahadb-5.7.0-API文档-中文版.zip

    赠送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信息:...

    ARM.CMSIS.5.7.0_开发.zip

    电脑需先安装Keil MDK5。此固件库为Keil官方提供,直接双击安装即可,安装成功后在MDK5工程的Device中验证,或者在PACK安装页面选择File-&gt;Import 官网下载比较慢,为方便大家提供分享

    qt5.7.0-linux-static.tar.gz

    qt5.7.0-linux-static.tar.gz,qt5.7.0 Linux静态库,注意配置安装路径或修改qmake路径

    activemq-core-5.7.0-API文档-中文版.zip

    赠送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文档-中文...

    ARM.CMSIS.5.7.0.pack

    keil pack cmsis 5.7.0 keil官网下载慢,打开keil- 项目- 管理-安装包,再直接拖到进去就可以了。

    PhotoFancie 拼贴制作器v5.7.0高级版.txt打包整理.zip

    PhotoFancie 拼贴制作器v5.7.0高级版.txt打包整理.zip

    ARM.CMSIS.5.3.0 ARM.CMSIS.5.7.0和4.2.0.zip

    ARM.CMSIS.5.3.0 ARM.CMSIS.5.7.0和4.2.0.zip

    junit-jupiter-api-5.7.0.jar

    junit-jupiter-api-5.7.0.jar

    kahadb-5.7.0-API文档-中英对照版.zip

    赠送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...

    太极5.7.0 taichi_.5.7.0-release.apk

    太极xposed5.7.0安装包,官网下载备份,使用需要手机root,不提供具体的插件。 taichi_.5.7.0-release.apk

    activemq-core-5.7.0-API文档-中英对照版.zip

    赠送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小技巧之使用Hotmail账号发送邮件

    在低版本的PowerShell上发送邮件可以借助.NET的system.net.mail.smtpclient类。在高版本的PowerShell中可以借助现成的命令:... The server response was: 5.7.0 Must issue a STARTTLS command first 后来发现是没

    pypy2-v5.7.0-ppc64le.tar.bz2

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、...

    pypy2-v5.7.0-linux-armel.tar.bz2

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、...

    ARM.CMSIS.5.1.0.pack和ARM.CMSIS.5.2.0.pack

    ARM.CMSIS.5.1.0.pack和ARM.CMSIS.5.2.0.pack

    FlyClockV5.7.0.exe

    FlyClockV5.7.0.exe

    ARM.CMSIS.5.7.0.zip

    ARM.CMSIS.5.7.0.zip

    qt-opensource-windows-x86-mingw530-5.7.0.part1.rar

    qt-opensource-windows-x86-mingw530-5.7.0 单个exe文件上传受限制,这只是压缩包第一部分,需要下载第二部分才能使用。

    pypy2-v5.7.0-linux-armhf-raring.tar.bz2

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、...

    pypy2-v5.7.0-linux-armhf-raspbian.tar.bz2

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、...

Global site tag (gtag.js) - Google Analytics