spring发送邮件有时候好用,但经常出现下面的问题,为什么!!求好的解决方案。

问题描述

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]DEBUG SMTP: useEhlo true, useAuth trueDEBUG SMTP: trying to connect to host "smtp.126.com", port 25, isSSL falseDEBUG SMTP: exception reading response: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Exception reading response;代码如下JavaMailSenderImpl mailSend=new JavaMailSenderImpl(); mailSend.setDefaultEncoding("UTF-8");//编码 mailSend.setHost(getWebServicePz("shxt.mail.host"));//mail端口协议 mailSend.setPassword(getWebServicePz("shxt.mail.password"));//密码 mailSend.setUsername(getWebServicePz("shxt.mail.username"));//用户名@前面 Properties properties = new Properties(); properties.setProperty("mail.debug", "true");//是否显示调试信息(可选测试用) properties.setProperty("mail.transport.protocol", "smtp");//协议 properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); properties.setProperty("mail.smtp.auth", "true");//设置用户验证 properties.setProperty("mail.smtp.timeout","250000");//超时时间 mailSend.setJavaMailProperties(properties); MimeMessage msg = mailSend.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(msg, false, "UTF-8"); message.setFrom(getWebServicePz("shxt.mail.from")); message.setSubject("上会通知"); //主题 message.setTo(toEmails); //发件人 String htmlTemplate=mailTzTemplate(hyxx,template,hys,yhryLst,ytList);//freemark网页模板 message.setText(htmlTemplate, true); // 如果发的不是html内容去掉true参数 mailSend.send(msg); 问题补充:AngelAndAngel 写道

解决方案

这个是为了安全 做了ssl安全限制的。这个对你发送邮件没什么影响吧,没影响就不用管的。
解决方案二:
真没出现过这样的情况。
解决方案三:
看我的做法:1,applicationContext-mail.xml配置如下:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"><!-- 注意:这里的参数(如用户名、密码)都是针对邮件发送者的 --><bean id="mailSender"class="org.springframework.mail.javamail.JavaMailSenderImpl"><property name="host"><value>smtp.126.com</value></property><property name="javaMailProperties"><props><prop key="mail.smtp.auth">true</prop><prop key="mail.smtp.timeout">25000</prop></props></property><property name="username"><value>你的邮箱</value></property><property name="password"><value>邮箱密码</value></property></bean><bean id="emailUtil" class="org.frame.EmailUtil"><property name="mailSender" ref="mailSender"></property></bean></beans>2,EmailUtil代码如下:package org.frame;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSender;public class EmailUtil {private JavaMailSender mailSender;public JavaMailSender getMailSender() {return mailSender;}public void setMailSender(JavaMailSender mailSender) {this.mailSender = mailSender;}/** * 发送简单文本邮件(可含多个emails,按':'分割) * * @param emails * @param subject * @param text */public void sentEmails(String emails, String subject, String text) {// 获取JavaMailSender bean// SimpleMailMessage只能用来发送text格式的邮件SimpleMailMessage mail = new SimpleMailMessage();String email[] = emails.split(";");for (int i = 0; i < email.length; i++) {try {mail.setTo(email[i]);// 接受者mail.setFrom("发送者邮箱");mail.setSubject(subject);// 主题mail.setText(text);// 邮件内容mailSender.send(mail);} catch (Exception e) {e.printStackTrace();}}}}希望对你有用。

时间: 2024-11-08 23:31:47

spring发送邮件有时候好用,但经常出现下面的问题,为什么!!求好的解决方案。的相关文章

tomcat卡住-spring security4在tomcat7下起动卡住了,什么情况,求指点!

问题描述 spring security4在tomcat7下起动卡住了,什么情况,求指点! 准备学习下Spring Security 4,整合spring mvc时正常,加入spring security包后也下常,但是把Spring Security配置文件加入到web.xml启动配置后就有问题了. spring-4.1.6.RELEASE spring-security-4.0.1.RELEASE tomcat-7.0.28 Ideal 14 整个启动过程如以下及1,2楼回复所示,启动到初始

Java中Spring发送邮件实现与用中文发件人昵称

百度找了半天发现问题关键在于使用固定的格式来填充From属性,如下:  代码如下 复制代码 // 设置收件人,寄件人 String nick = javax.mail.internet.MimeUtility.encodeText("您的昵称"); messageHelper.setFrom(new InternetAddress(nick + " <service@caomeishuo.com>")); messageHelper.setTo(toMa

spring 发送邮件问题

public void sendEmail() throws Exception { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); //设定mail server senderImpl.setHost("smtp.163.com"); //建立邮件消息,发送简单邮件和html邮件的区别 MimeMessage mailMessage = senderImpl.createMimeMessage(); MimeMess

Java的Spring框架中实现发送邮件功能的核心代码示例_java

Spring中已经封装了邮件操作类,通过spring配置文件可以便捷地注入到controller.action等地方. 下面是配置: <!-- mail sender --> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl" p:host="${mail.host}" p:port="${mail.por

jquery 怎样设置spring form中变量值

问题描述 jquery 怎样设置spring form中变量值 代码如下: function firstPag(){ var firsts=5; firsts=firsts+5; jq(""#form1"").attr(""first""firsts); alert(""444444=""+jq(""#form1"").attr("&qu

请教java发送邮件的问题

问题描述 我希望能将excel里面的内容当作邮件内容发送,有办法实现么?请高手解答,谢谢! 解决方案 解决方案二:获取里面的内容,然后利用Java的邮件技术,发送~~~!可以实现解决方案三:谢谢不过我指的是将一个sheet的所有内容发送出去.读excel我用jxl,但它只能读取一个单元格的值.解决方案四:可以实现解决方案五:apache的POI是操作excel的发送邮件可以使用spring的邮件,也可以使用java的.baidu下资料很多..解决方案六:读取excel,需要jar包poi.jar

微框架Spring Boot详解

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新 Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 而使开发人员不再需要定义样板化的配置.通过这种方式,Boot致力于在蓬勃发 展的快速应用开发领域(rapid application development)成为领导者. 多年以来,Spring IO平台饱受非议的一点就是大量的XML配置以及复杂的依赖 管理.在去年的SpringOne 2GX会议上,Pivotal的CTO Adrian

深入学习微框架:Spring Boot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以 及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. 多年以来,Spring IO平台饱受非议的一点就是大量的XML配置以及复杂的依赖管理.在去年的SpringOne 2GX会议上,Pivotal的CTO Adrian Co

Spring多线程注入时报null异常

在用多线程注入Spring的时候,注入的实例在调用时总是显示为null. 解决方案: 1.将实例传入线程,实例多的时候会死人的(⊙o⊙)- 2.[推荐]将多线程用到的实例进行全局化,即加static,这样就将实例提升到了进程的级别,两个线程都可以使用. 如下: protected static IDetailDataDao detailDataDao; @Autowired 或 @Resource(name = "detailDataDao") publicvoid setDetail