簡體   English   中英

javax.mail.NoSuchProviderException:$ {mail.protocol}的沒有提供者

[英]javax.mail.NoSuchProviderException: No provider for ${mail.protocol}

如果他忘記了密碼,我想發送郵件為用戶重置密碼,但我收到此錯誤消息:

org.springframework.mail.MailSendException:郵件服務器連接失敗; 嵌套的異常是javax.mail.NoSuchProviderException:$ {mail.protocol}的沒有提供者。 失敗消息:javax.mail.NoSuchProviderException:沒有$ {mail.protocol}的提供程序; 消息異常詳細信息(1)是:

這是我的MailConfiguration.java ;

public class MailConfiguration {

@Value("${mail.protocol}")
private String protocol;

@Value("${mail.host}")
private String host;

@Value("${mail.from}")
private String from;

@Value("${mail.username}")
private String username;

@Value("${mail.password}")
private String password;


@Bean
public JavaMailSender javaMailSender() {
    JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
    Properties mailProperties = new Properties();
    mailProperties.put(false, auth);
    mailProperties.put(false, starttls);
    mailSender.setJavaMailProperties(mailProperties);
    mailSender.setHost(host);
    mailSender.setPort(465);
    mailSender.setProtocol(protocol);
    mailSender.setUsername(username);
    mailSender.setPassword(password);
    return mailSender;
}
}

這是我的EmailConfig.properties:

mail.protocol=smtp
mail.host=localhost
mail.port=465
mail.smtp.auth=false
mail.smtp.starttls.enable=false
mail.from=me@localhost
mail.username=   
mail.password=

任何幫助預先感謝。

似乎您沒有正確連接EmailConfig.properties,因為未從其中讀取mailProtocol。

確保在配置類中的某個位置具有@PropertySource,並帶有指向屬性文件的有效路徑(即“ classpath:EmailConfig.properties”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM