当我在spring boot中使用外部属性文件时,为什么需要在配置文件中定义bean javaMailSenderImpl?

当我在spring boot中使用外部属性文件时,为什么需要在配置文件中定义bean javaMailSenderImpl?,spring,spring-boot,Spring,Spring Boot,我试图在SpringBoot应用程序中使用外部属性文件,但当我运行应用程序时,它建议我定义javaMailSender的bean 当我定义javaMailSenderImpl的bean时,它运行良好。 但在发送任何电子邮件时,它都显示出异常 失败消息:com.sun.mail.util.MailConnectException:无法连接到主机,端口:localhost,25;超时-1 这是我的密码- @Bean public org.springframework.mail.javamail.J

我试图在SpringBoot应用程序中使用外部属性文件,但当我运行应用程序时,它建议我定义javaMailSender的bean

当我定义javaMailSenderImpl的bean时,它运行良好。 但在发送任何电子邮件时,它都显示出异常

失败消息:com.sun.mail.util.MailConnectException:无法连接到主机,端口:localhost,25;超时-1

这是我的密码-

@Bean
public org.springframework.mail.javamail.JavaMailSenderImpl javaMailSenderImpl(){
    return new org.springframework.mail.javamail.JavaMailSenderImpl();
}
@Bean
public PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
    PropertySourcesPlaceholderConfigurer properties = new PropertySourcesPlaceholderConfigurer();
    properties.setLocation(new FileSystemResource("C:\\Users\\Rishabh Sharma\\Desktop\\app.properties"));
    properties.setIgnoreResourceNotFound(false);
    return properties;
}

去掉两个豆子,然后将
app.properties
的内容传输到
application.properties
,并使用适当的
spring.mail
设置来配置
JavaMailSender
。当我将所有属性放入application.properties时,它工作正常。但我想在外部属性文件中定义我的所有属性。仍然将它们放在jar旁边的ex-eternal属性文件中。Spring Boot也将加载该功能。我强烈建议您阅读参考指南的章节。我想将该文件放在我的目录中,而不是项目目录中,因为我是从自定义位置加载该文件的,那么为什么它不从该文件中加载邮件属性@M.DeinumAgain我建议您阅读我指给您的章节。提示:不要自己加载文件。