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

标签 email grails groovy configuration-files

我希望 Grails 的邮件插件从类路径中的外部属性文件中读取配置属性。我已在 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"]

这不起作用。我需要从外部文件读取 props 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/

相关文章:

html - 如何使表格数据在电子邮件中响应

windows - 使用哪个电子邮件软件? url 中的 optiext/optiextension.dll

grails - 在列表中查找数据(过滤器)

Gradle:从自定义构建文件开始时获取根项目目录路径

vba - 如何通过 Excel VBA 使用 Mozilla Thunderbird 生成和发送电子邮件

grails response.addHeader 或 setHeader 在 Controller 操作中触摸 response.setContentType 后在过滤器中是不可能的

grails - 为什么可以忽略 Grails Spring Security 中的 @Secured?

spring - 如何在 Grails 电子邮件服务中获取自定义 "from address"

java - 在java和groovy中准确表示时间

email - 更改 PHP 邮件函数中的返回路径