发送带有grails应用程序错误的邮件

时间:2011-12-12 12:29:01

标签: tomcat grails sendmail

我正在尝试使用邮件插件从我的Grails应用程序发送邮件。它适用于开发环境和gmail smtp的默认设置。我现在已在运行Tomcat 7的Windows服务器上部署应用程序并尝试通过Exchange发送邮件。我收到了这个错误:

这些是config.groovy中的邮件属性:

grails {
mail {
  host = "mail.something.com"
  port = 25
  username = "app@something.com"
  password = "xxx"
  props = ["mail.smtp.auth":"true",
           "mail.smtp.socketFactory.port":"25",
           "mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
           "mail.smtp.socketFactory.fallback":"false"]
}

}

javax.mail.AuthenticationFailedException: No authentication mechansims supported by both server and client

at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:590)

at javax.mail.Service.connect(Service.java:291)

at grails.plugin.mail.MailMessageBuilder.sendMessage(MailMessageBuilder.groovy:102)

at grails.plugin.mail.MailMessageBuilder$sendMessage.call(Unknown Source)

at grails.plugin.mail.MailService.sendMail(MailService.groovy:39)

at grails.plugin.mail.MailService$sendMail.call(Unknown Source)

at org.helpdesk.RequestController$_closure12.doCall(RequestController.groovy:240)

at org.helpdesk.RequestController$_closure12.doCall(RequestController.groovy)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

我该怎么办?感谢。

2 个答案:

答案 0 :(得分:3)

清楚地说明了什么是错的:

javax.mail.AuthenticationFailedException: No authentication mechansims supported by both server and client

您的Gmail SMTP设置无法与Exchange服务器配合使用。您需要更改设置。只是搜索它。以下是涉及Java Mail和Exchange服务器的一个问题:JavaMail Exchange Authentication您可能对Java Mail FAQ中的这个主题感兴趣:http://www.oracle.com/technetwork/java/faq-135477.html#Exchange-login

答案 1 :(得分:-2)

这些设置适用于Gmail(只需更改用户名/密码):

grails.mail.from = "First Last <some_name@gmail.com>"
grails.mail.host = "smtp.gmail.com"
grails.mail.port = "465"
grails.mail.username = "some_name@gmail.com"
grails.mail.password = "xxx-password-xxx"
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",
        "mail.smtp.starttls.enable": "true",
        "mail.debug": "true"]