gpt4 book ai didi

email - 外部化Grails中邮件插件的属性

转载 作者:行者123 更新时间:2023-12-02 13:51:35 24 4
gpt4 key购买 nike

我希望Grails的Mail插件从类路径中的外部属性文件中读取配置属性。我在Config.groovy中添加了这一行,

grails.config.locations = [
"classpath:app-${grails.util.Environment.current.name}-config.properties"]

并且我已经将属性放入该文件中,
grails.mail.host = smtp.gmail.com
grails.mail.port = 465
grails.mail.username = username
grails.mail.password = password

所有这些都很好。问题在于,邮件插件还需要另一个Map类型的属性。如果我们将该属性放在Config.groovy中,我看起来像这样,
grails {
mail {
props = ["mail.smtp.auth" : "true",
"mail.smtp.socketFactory.port" : "465",
"mail.smtp.socketFactory.class" : "javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback": "false"]
}
}

现在,如果我将其放在外部文件中,如下所示,
grails.mail.props = ["mail.smtp.auth"                  : "true",
"mail.smtp.socketFactory.port" : "465",
"mail.smtp.socketFactory.class" : "javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback": "false"]

比它不起作用。我需要从外部文件读取 Prop map 。我搜寻了很多,但徒劳无功。感谢帮助。

最佳答案

您可以从外部*.groovy文件加载配置,在其中可以包含 map 等,如Config.groovy一样。例如,创建内容如下的mail-config.groovy:

grails {
mail {
host = smtp.gmail.com
port = 465
username = username
password = password
props = ["mail.smtp.auth" : "true",
"mail.smtp.socketFactory.port" : "465",
"mail.smtp.socketFactory.class" : "javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback": "false"]
}
}

并指向Grails使用它:
grails.config.locations = ["classpath:mail-config.groovy"]

关于email - 外部化Grails中邮件插件的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25718920/

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