`
忘忧鸟
  • 浏览: 144971 次
  • 性别: 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信息:...

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

    qt5.7.0-linux-static.tar.gz

    QT5.7.0是Qt框架的一个重要版本,专为Linux平台设计,提供静态编译的库文件。这个压缩包“qt5.7.0-linux-static.tar.gz”包含了一整套用于开发图形用户界面(GUI)和跨平台应用程序的工具和库。在Linux环境下,静态...

    node-v5.7.0-linux-ppc64le.tar.gz

    标题 "node-v5.7.0-linux-ppc64le.tar.gz" 指的是一个针对 Linux PPC64LE(PowerPC 64位 Little Endian)平台的 Node.js 版本 5.7.0 的源码压缩包。Node.js 是一个开源的、基于 Chrome V8 引擎的 JavaScript 运行...

    node-v5.7.0-sunos-x86.tar.gz

    标题 "node-v5.7.0-sunos-x86.tar.gz" 暗示了这是一个针对SunOS操作系统(Solaris的别名)32位架构的Node.js版本5.7.0的源代码压缩包。这个文件是用tar工具打包,并通过gzip进行压缩的,以减小文件大小便于下载和...

    太极5.7.0 taichi_.5.7.0-release.apk

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

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

    SMTP客户端未通过身份验证等多种错误解决方案分享

    错误四:必须先发出STARTTLS命令(5.7.0 Must issue a STARTTLS command first) 此错误表示SMTP服务器要求在开始传输数据前先进行STARTTLS握手以加密连接。为解决这个问题,应根据服务器的要求启用STARTTLS,如果...

    JNA-5.7.0 jna-platform-5.7.0

    `jna-5.7.0.jar` 是JNA的核心库文件,它提供了与本地系统交互的基本框架和机制。它包含了一系列的类和接口,使得开发者可以通过简单的Java对象和方法来映射本地函数调用。例如,通过JNA,你可以调用Windows API中的`...

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

    《PhotoFancie拼贴制作器v5.7.0高级版:专业图像编辑与创意设计新境界》 在数字媒体日益发达的今天,高质量的图像处理软件成为了创作人士不可或缺的工具。PhotoFancie拼贴制作器v5.7.0高级版,作为一个专门针对拼贴...

    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 后来发现是没

    DSP库 CMSIS库文件版本 5.7.0

    在这个特定的场景中,我们关注的是CMSIS库的一个版本——"CMSIS库文件版本 5.7.0",这个版本包含了许多优化的DSP库函数,用于实现高效的滤波和其他信号处理任务。 FIR(Finite Impulse Response,有限冲激响应)...

    node-v5.7.0-sunos-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...

    node-v5.7.0-linux-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...

    node-v5.7.0-linux-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...

    pypy2-v5.7.0-ppc64le.tar.bz2

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics