我正在使用Grails Mail插件并尝试发送电子邮件并继续获取:
的说明正确操作错误500:执行控制器的动作[sendInvite] [RegisterController]导致异常:失败的消息: javax.mail.SendFailedException:无效的地址;嵌套异常 是:com.sun.mail.smtp.SMTPAddressFailedException:550必须是 认证
答案 0 :(得分:3)
当您尝试发送邮件时,邮件服务器返回错误。 550 is a generic SMTP failure code;在这种情况下,您似乎缺少用户名和密码。某些SMTP服务器不需要身份验证,但大多数服务器都需要身份验证,特别是如果它们在Internet上公开可用。您的SMTP服务器也可能需要SSL连接,并且您使用不安全的套接字进行连接。
example config for gmail显示了如何在Config.groovy中设置所有邮件服务器身份验证选项:
grails {
mail {
host = "smtp.gmail.com"
port = 465
username = "youracount@gmail.com"
password = "yourpassword"
props = ["mail.smtp.auth":"true",
"mail.smtp.socketFactory.port":"465",
"mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback":"false"]
}
}
将"mail.debug": "true"
添加到道具中以打开JavaMail调试,以更好地了解失败前发生的情况。
答案 1 :(得分:1)
在我的情况下,550错误是由于我意外选择了IMAP帐户作为默认帐户,但是从我的Outlook Connector帐户发送了电子邮件(没有要进行的身份验证设置)。
我将Outlook Connector帐户更改为默认帐户。重新发送电子邮件,没有错误。
请检查是否将正确的电子邮件帐户设置为默认