【问题标题】:(grails) com.sun.mail.smtp.SMTPSendFailedException: 553 Relaying disallowed as zoho mail(grails) com.sun.mail.smtp.SMTPSendFailedException: 553 中继不允许作为 zoho 邮件
【发布时间】:2015-10-08 16:27:50
【问题描述】:

我正在尝试在 grails mail-plugin 中配置 zoho 邮件服务。这是我目前的配置,

    grails {
    mail {
        host = "smtp.zoho.com"
        port = 465
        username = "email@valid.com"
        password = "some-valid-password"
        props = ["mail.smtp.auth":"true",
                 "mail.smtp.starttls.enable":"true",
                 "mail.smtp.socketFactory.port":"465",
                 "mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
                 "mail.smtp.socketFactory.fallback":"false"]
    }
}

这是我的服务方法。如果我把 gmail smtp 配置放在上面,上面的配置效果很好,所以我认为服务方法完全没有问题。 email@valid.com 也是 Zoho 中的注册邮箱,我可以使用 zoho 仪表板发送电子邮件。

def sendImageProcessedNotification(用户用户,imageLink){ 尝试{ 如果(用户){ def 接收者 = user.email 邮件服务.sendMail { 异步真 给接收者 主题“主题” html "HTML 正文" } } }捕捉(e){ log.error(e) } }

这里是堆栈跟踪,

2015-07-19 08:17:37,782 [pool-12-thread-1] 错误 mail.MailMessageBuilder - 无法发送电子邮件 org.springframework.mail.MailSendException:消息失败后关闭服务器连接失败;嵌套异常是 javax.mail.MessagingException: Can't send command to SMTP host; 嵌套异常是: java.net.SocketException:连接被远程主机关闭。失败的消息:com.sun.mail.smtp.SMTPSendFailedException: 553 Relaying disallowed as ;消息异常详细信息(1)是: 失败的消息 1: com.sun.mail.smtp.SMTPSendFailedException: 553 中继不允许作为 在 com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2133) 在 com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1912) 在 com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1135) 在 org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:433) 在 org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:345) 在 org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340) 在 org.springframework.mail.javamail.JavaMailSender$send$0.call(未知来源) 在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122) 在 grails.plugin.mail.MailMessageBuilder$_sendMessage_closure1.doCall(MailMessageBuilder.groovy:112) 在 grails.plugin.mail.MailMessageBuilder$_sendMessage_closure1.doCall(MailMessageBuilder.groovy) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) 在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207) 在 groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1121) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) 在 groovy.lang.Closure.call(Closure.java:423) 在 groovy.lang.Closure.call(Closure.java:417) 在 groovy.lang.Closure.run(Closure.java:504) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745)

【问题讨论】:

    标签: grails smtp grails-plugin zoho


    【解决方案1】:

    您只需在添加电子邮件逻辑的地方提及“setFrom()”属性。 示例:我使用 JavaMailSender 并使用 MimeMessage 发送电子邮件,所以在这种情况下,我将不得不提及“helper.setFrom()”。

    P.S:我尝试了很多方法,然后我就用这个解决了它。

    【讨论】:

    • 这适用于 tls .. 而不是 ssl 在我的情况下
    【解决方案2】:

    删除此行"mail.smtp.starttls.enable":"true", 添加此行"mail.smtp.startssl.enable":true

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 2015-10-04
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多