java - Grails 应用程序中的 SMTP 邮件失败(MS Exchange 且无身份验证)

标签 java debugging grails smtp jakarta-mail

我们有一个 Grails 1.2.1 应用程序,它使用邮件插件中的代码。我们必须调整代码,因为我们需要连接到各种 SMTP 主机,而不仅仅是像当时允许的插件那样的主机。

无论如何,它多年来一直工作良好,直到我们需要连接到配置为没有 smtp 身份验证的 Exchange 服务器。

通常此配置设置适用于 Exchange:

mail.smtp.auth=true;mail.smtp.socketFactory.port=2525;mail.smtp.socketFactory.fallback=true;mail.smtp.starttls.enable=true

对于本例,我使用:

mail.smtp.auth=false;mail.smtp.socketFactory.port=2525;mail.smtp.debug=true;mail.debug.auth=true

通过这个特定的 smtp 服务器,我们得到:

org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException
    at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:415)
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:341)
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:337)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

首先,我如何显示调试消息,我似乎无法打开任何详细的日志记录。

我在 config.groovy 中为这些模式启用了调试级别跟踪:

                ,"org.springframework.mail"
                ,"javax.mail"

第二,我可以尝试通过任何选项来解决身份验证问题吗?我见过一个使用 javaMail 的 connect() 的答案,没有 uid/密码,但我们的应用程序调用

org.springframework.mail.MailSender.send(org.springframework.mail.SimpleMailMessage simpleMailMessage)

最佳答案

我通过 mail.smtp.auth=false 解决了身份验证问题,并将用户 ID 和密码设置为 null。

未能成功获取调试级别跟踪输出

关于java - Grails 应用程序中的 SMTP 邮件失败(MS Exchange 且无身份验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761454/

相关文章:

java - 滚动 logback 日志记录不起作用

java - Eclipse JDT Java Parser 中是否有任何类型的 "line visitor"?如果没有,有人知道一个好的解决方法吗?

javascript - 如何调试/检查hexo博客

grails - Grails中的Config.groovy

java - 如何使用 Grails 邮件插件设置内容类型?

java - java中的锯齿状数组

java - 添加用户到session,spring security默认登录

c# - VS2005 : when stepping through C# code, 有没有办法跳过代码段?

python - 如何调试 Python 脚本,将哪些项目通过管道传输?

grails - Grails-无法从grailsCentral安装任何插件