当前位置: 首页 > 知识库问答 >
问题:

JavaMail Spring启动属性无法识别属性

朱睿
2023-03-14

我有一个带有javamail的spring启动应用程序,我配置了spring。属性,但似乎不需要属性来发送电子邮件。

#mail properties
spring.mail.host = smtp.gmail.com
spring.mail.port = 587
spring.mail.username = eeee@gmail.com 
spring.mail.password = eeee
spring.mail.protocol = smtp
spring.mail.defaultEncoding=UTF-8
spring.mail.smtp.starttls.enable=false
spring.mail.smtp.starttls.required=false
spring.mail.smtp.auth=true
spring.mail.smtp.connectiontimeout=5000
spring.mail.smtp.timeout=5000
spring.mail.smtp.writetimeout=5000 

下面是发送电子邮件的java代码

@Service
public class MailSenderServiceImpl implements IMailSenderService{

@Autowired
JavaMailSender mailSender;


@Override
public void sendEmailStatusNotification(Shipment shipment) throws IOException, MessagingException{
    final MimeMessage mimeMessage = this.mailSender.createMimeMessage();
    final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");
    message.setFrom(shipment.getSender().getSenderEmail());
    message.setTo(new String[] {shipment.getRecipient().getRecipientEmail()});
    message.setSubject("Shipment "+shipment.getTrackingNumber()+"status update");
    message.setText("the shipment status is now :"+shipment.getStatus().getLabel());
    this.mailSender.send(mimeMessage);
}

pom.xml

        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>

这里我们看到了这个错误

组织。springframework。邮政MailSendException:邮件服务器连接失败;嵌套的异常是com。太阳邮政util。MailConnectException:无法连接到主机,端口:localhost,25;超时-1;嵌套的例外是:java。网ConnectException:连接被拒绝:连接。失败消息:com。太阳邮政util。MailConnectException:无法连接到主机,端口:localhost,25;超时-1;嵌套的例外是:java。网ConnectException:连接被拒绝:连接;消息异常(1)为:失败消息1:com。太阳邮政util。MailConnectException:无法连接到主机,端口:localhost,25;超时-1;嵌套的例外是:java。网ConnectException:连接被拒绝:连接

任何想法?

共有1个答案

慕容成和
2023-03-14

默认情况下spring。属性不是属性源,请尝试将它们放入应用程序中。属性

 类似资料:
  • 我正在尝试使用Jackson将一些JSON转换为包含一些简单字符串和另一个类的类的实例,我正在使用@JsonCreator。似乎Jackson无法创建其他类的实例。 问题是,当我作为测试的一部分运行此代码时: 我得到以下例外: 我试图在简单测试中解析的JSON如下所示: 我有一个看起来有点像这样的类“播放器” 另一个类“字符”看起来像这样 对于像这样的小数据集,会有更好的方法来构建整个事情,但我认

  • 我有一个类似的枚举: json文件本身有private字段,所以我需要private(它是java键盘)来进行序列化和映射,但是如果我使用private和所有小写,这将是一个运行时错误。我使用了上面代码中的@JSONProperty,但仍然不起作用。 进程已完成,退出代码为0

  • 我有一个应用程序,当我试图通过运行main方法在intelliJ中运行时,会出现以下错误: 当我构建并运行这个项目作为一个jar时,它工作得很好,识别属性文件。从eclipse转换后,我对intelliJ是新手。我尝试了几件事,比如第一条、第二条和第三条,但我运气不好。 是否有一些设置,我应该知道让intelliJ识别我的属性的文件?我已经标记我的资源文件夹为源根,因为它包含我的属性的文件。 任何

  • 2)我使用的是自定义的,但现在我使用的是原来的: 3)Tomcat正确启动,我看到我的计算机中打开了端口8080。实际上,我必须手动关闭进程才能再次尝试从Netbeans运行新的程序,否则它会抱怨端口已经打开。与此同时,Netbeans只是等待,等待……在“等待Tomcat”之后的某个时候,它只是说它失败了,就像它不能识别Tomcat打开了一样。Tomcat保持运行,就像没有人与它通信一样。所以没

  • 我正在尝试使用spring boot properties launcher 关于为什么我的mainclass和startclass是错误的,有什么想法吗 我想将其设置为 主类:org.springframework.boot.loader.propertieslauncher

  • 问题内容: Java SE 6项目是否支持eclipselink jpa2的标准api?如果没有,那是我的问题。我是否需要在persistence.xml中为条件api指定特殊的内容? 这是我的条件查询: 这是我的意思实体: 问题答案: 关于您的代码 我没有检查条件查询本身的正确性,但是,正如克里斯所提到的,您正在将静态元模型类与不会暴露您所要查找的混合在一起。假设已经生成了元模型类,请删除第一行