3

我已经安装了 grails 2.0 和邮件插件,并且我在 confi.groovy 中配置了 SMTP,如下所示

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

}

在我的一个控制器中,我正在执行以下操作

sendMail {
  from "Vinay <mymail@gmail.com>"
  to "fred@g2one.com"
  subject "Hello John"
  html '<b>Hello</b> World'
}

但是当我收到来自地址“mymail”的邮件时。Grails 仍在使用 smtp 配置的用户名,如何覆盖它以便我可以自定义“发件人”地址

4

1 回答 1

5

Grails 实际上正在做正确的事情并将您指定的 From 行传递给 SMTP 服务器,但它是 GMail 身份验证 SMTP 的“功能”,它只允许在 GMail 帐户中注册“我拥有的地址”的 From 地址。如果您尝试使用不是您的注册别名之一的发件人地址,则 GMail 将忽略 Grails 提供的发件人地址,并且 SMTP 服务器将用用于身份验证的帐户的主地址替换它。

如果您有一组已知的固定发件人地址,那么您可以简单地将它们全部添加到您的 GMail 帐户设置中,但不能将任意发件人地址与 GMail SMTP 一起使用。

于 2012-08-03T13:01:02.843 回答