这是一个非常具体的问题,在grails nabble论坛上我没有运气,所以我想我会在这里发布。我正在使用grails邮件插件,但是我认为我的问题是关于将authsmtp用作来自服务器的电子邮件网关的一般性问题。
我无法使用authsmtp从我的应用程序发送邮件。我已经安装并配置了邮件插件,最初是使用ISP的SMTP服务器发送邮件的。但是,当我部署到AWS EC2时,这失败了,因为SMTP主机阻止了我的 flex IP。因此,我为自己购买了一个authsmtp帐户,并将我的服务器电子邮件地址设置为authsmtp上的接受电子邮件地址。
然后,我在SecurityConfig.groovy中更改了配置,以指向已被指定的authsmtp服务器。
mailHost = "mail.authsmtp.com"
mailUsername = "myusername"
mailPassword = "mypassword"
mailProtocol = "smtp"
mailFrom = "[email protected]"
mailPort = 2525
...而我只是想让它在本地部署,然后再部署回AWS。发送邮件失败,在我的日志中,我遇到以下异常:
2010-02-13 10:59:44,218 [http-8080-1] ERROR service.EmailerService - Failed to send emails: Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 513 5.0.0 Your email system must authenticate before sending mail.
org.springframework.mail.MailSendException; nested exception details (1) are:
Failed message 1:
com.sun.mail.smtp.SMTPSendFailedException: 513 5.0.0 Your email system must authenticate before sending mail. at
com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)
自从我在
配置绝对正确。
使用authsmtp支持进行简短但不太有用的对话表明
在发送之前,我需要MD5和/或base64编码我的凭据,所以我
问题分为三个部分...
1)知道失败是怎么回事以及为什么该消息是
出现?
2)我将如何编码凭据以传递给authsmtp以及我将如何
为邮件插件配置
3)是否有任何人成功连接并通过authsmtp从
邮件插件,特别是来自AWS EC2的插件?
最佳答案
使用Acegi插件发送电子邮件时,在后台使用Spring JavaMailSenderImpl。查看其docs:
因此,将以下内容附加到SecurityConfig.groovy:
javaMailProperties = [ "mail.smtp.auth": true]
关于email - 从Grails服务器使用authsmtp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2310339/