gpt4 book ai didi

spring - 在运行时更改邮件配置

转载 作者:行者123 更新时间:2023-12-02 14:25:23 26 4
gpt4 key购买 nike

我刚刚开始研究grails框架,而我要解决的首要任务是发送电子邮件。基本教程和社区答案为快速入门提供了很多信息,是的,我已经创建了简单的应用程序,可以发送电子邮件。但是,我接下来要研究的是在运行时更改邮件配置。所以,首先我在Config.grovy中的配置是

grails {
mail {
host = ""
port = 0
username = ""
password = ""
props = [""]
}
}

值,并且全部正常工作,之后我尝试重新配置它
像那样
grailsApplication.config.grails.mail.host = "smtp.gmail.com"
grailsApplication.config.grails.mail.port = 465
grailsApplication.config.grails.mail.username = ""

Controller 那里,发现邮件是从旧地址发送的,在调试之后,我发现邮件插件中有自动连线的实例,例如 mailSender,一个明显的解决方案是重新创建 mailSender并重新设置它,但判断为Spring单例策略将是一个很难的解决方案,因此,我的问题是否有可能在运行时重新配置邮件而无需重新加载类?

谢谢。

最佳答案

修复了使用重新初始化mailsender实例但等待其他解决方案的问题,谢谢

mailSender.setHost("smtp.gmail.com")
mailSender.setPort(465)
mailSender.setJavaMailProperties(new Properties() {
{
put("mail.smtp.auth", "true");
put("mail.smtp.socketFactory.port", "465");
put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
put("mail.smtp.socketFactory.fallback", "false");
}
})

关于spring - 在运行时更改邮件配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com