我安装了grails 2.0和mail plugin,我在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配置的用户名,如何覆盖它以便我可以自定义'from'地址
答案 0 :(得分:5)
Grails实际上正在做正确的事情,并将指定的From行传递给SMTP服务器,但它是GMail认证SMTP的“功能”,它只允许在GMail帐户中注册“我拥有的地址”的From地址。如果您尝试使用的From地址不是您注册的别名之一,则GMail会忽略所提供的Grails地址,并且SMTP服务器将使用用于进行身份验证的帐户的主地址替换它。
如果您有一组已知的固定地址,那么您可以将它们全部添加到您的GMail帐户设置中,但是无法使用GMail SMTP中的任意发件人地址。