Springframework JavaMailSender不';我不能再在OpenJDK1.7上工作了
我有这样一个EmailService类:Springframework JavaMailSender不';我不能再在OpenJDK1.7上工作了,spring,jakarta-mail,openjdk,amazon-ses,Spring,Jakarta Mail,Openjdk,Amazon Ses,我有这样一个EmailService类: package com.helios.service.mail; import java.util.ArrayList; import java.util.List; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; import javax.mail.internet.AddressException; import javax.mail
package com.helios.service.mail;
import java.util.ArrayList;
import java.util.List;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.internet.AddressException;
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.MailException;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.JavaMailSender;
import scala.actors.threadpool.Arrays;
import com.helios.util.PropertiesUtil;
/**
* The e-mail service contains all you need in order to send E-Mails
* successfully
*/
@Service
public class EmailService
{
// ------------------------------------------------------------------------
// members
// ------------------------------------------------------------------------
// log4j...
static final Logger logger = Logger.getLogger(EmailService.class);
@Autowired
private JavaMailSender mailSender;
// ------------------------------------------------------------------------
// public usage
// ------------------------------------------------------------------------
/**
* Send an Email the cool way!
* @param recipients
* @param subject
* @param text
* @param html
*/
public void sendEmail(List<String> recipients,String subject,
String text,boolean html)
throws NoSuchProviderException,AddressException,MessagingException {
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
messageHelper.setFrom(PropertiesUtil.getProperty("mail.defaultsender"));
messageHelper.setTo(recipients.toArray(new String[recipients.size()]));
messageHelper.setSubject(subject);
messageHelper.setText(text, html);
mailSender.send(mimeMessage);
}
catch (MailException ex) {
logger.error("Fail: "+ex.getMessage());
}
}
// ------------------------------------------------------------------------
// private usage
// ------------------------------------------------------------------------
// ------------------------------------------------------------------------
// GETTER & SETTER
// ------------------------------------------------------------------------
}
package com.helios.service.mail;
导入java.util.ArrayList;
导入java.util.List;
导入javax.mail.MessaginException;
导入javax.mail.NoSuchProviderException;
导入javax.mail.internet.AddressException;
导入javax.mail.internet.mimessage;
导入org.apache.log4j.Logger;
导入org.springframework.stereotype.Service;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.mail.MailException;
导入org.springframework.mail.javamail.mimessagehelper;
导入org.springframework.mail.javamail.JavaMailSender;
导入scala.actors.threadpool.Arrays;
导入com.helios.util.PropertiesUtil;
/**
*电子邮件服务包含发送电子邮件所需的所有信息
*成功地
*/
@服务
公共类电子邮件服务
{
// ------------------------------------------------------------------------
//成员
// ------------------------------------------------------------------------
//log4j。。。
静态最终记录器=Logger.getLogger(EmailService.class);
@自动连线
私有JavaMailSender;
// ------------------------------------------------------------------------
//公共用途
// ------------------------------------------------------------------------
/**
*发送电子邮件的方式很酷!
*@param收件人
*@param主题
*@param text
*@param html
*/
public void sendmail(列出收件人、字符串主题、,
字符串文本(布尔html)
抛出NoSuchProviderException、AddressException、MessaginException{
试一试{
MimeMessage MimeMessage=mailssender.createMimeMessage();
MimeMessageHelper messageHelper=新的MimeMessageHelper(mimeMessage);
messageHelper.setFrom(PropertiesUtil.getProperty(“mail.defaultsender”);
messageHelper.setTo(recipients.toArray(新字符串[recipients.size()]);
messageHelper.setSubject(subject);
messageHelper.setText(文本,html);
mailssender.send(mimeMessage);
}
捕获(邮件例外){
logger.error(“Fail:+ex.getMessage());
}
}
// ------------------------------------------------------------------------
//私人用途
// ------------------------------------------------------------------------
// ------------------------------------------------------------------------
//吸气剂和塞特
// ------------------------------------------------------------------------
}
bean用于配置mailSender以通过Amazon SES发送邮件
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="email-smtp.us-east-1.amazonaws.com" />
<property name="port" value="465" />
<property name="protocol" value="smtps" />
<property name="username" value="..." />
<property name="password" value="..." />
<property name="javaMailProperties">
<props>
<prop key="mail.smtps.auth">true</prop>
<prop key="mail.smtp.ssl.enable">true</prop>
<prop key="mail.transport.protocol">smtps</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean>
真的
真的
smtps
真的
现在,如果我在JDK1.6下运行sendmail方法,它会工作得很好。如果我在1.7上运行完全相同的代码,它将无法工作
我找不出问题出在哪里。你知道吗
谢谢