grails - (grails) com.sun.mail.smtp.SMTPSendFailed

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

    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 dashboard 发送邮件。


    def sendImageProcessedNotification(User user, imageLink){
            try{
                if(user){
                    def receiver = user.email
                    mailService.sendMail {
                        async true
                        to receiver
                        subject "Subject"
                        html "Html body"
                    }
                }
            }catch(e){
                log.error(e)
            }
        }

这是堆栈跟踪,


    2015-07-19 08:17:37,782 [pool-12-thread-1] ERROR mail.MailMessageBuilder  - Failed to send email
    org.springframework.mail.MailSendException: Failed to close server connection after message failures; nested exception is javax.mail.MessagingException: Can't send command to SMTP host;
      nested exception is:
        java.net.SocketException: Connection closed by remote host. Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 553 Relaying disallowed as 
    ; message exception details (1) are:
    Failed message 1:
    com.sun.mail.smtp.SMTPSendFailedException: 553 Relaying disallowed as 

        at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2133)
        at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1912)
        at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1135)
        at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:433)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:345)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340)
        at org.springframework.mail.javamail.JavaMailSender$send$0.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122)
        at grails.plugin.mail.MailMessageBuilder$_sendMessage_closure1.doCall(MailMessageBuilder.groovy:112)
        at grails.plugin.mail.MailMessageBuilder$_sendMessage_closure1.doCall(MailMessageBuilder.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1121)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)
        at groovy.lang.Closure.call(Closure.java:423)
        at groovy.lang.Closure.call(Closure.java:417)
        at groovy.lang.Closure.run(Closure.java:504)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

最佳答案

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

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

关于grails - (grails) com.sun.mail.smtp.SMTPSendFailedException : 553 Relaying disallowed as zoho mail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31501424/

相关文章:

grails - Grails 3数据库迁移问题

performance - 我可以使用 Grails session 来存储整个域对象吗?

grails - 如何使用smtp通过Grails 3发送电子邮件?

ssh - SSH默认进入指定目录吗?

grails - 如何在 Grails 中对存储过程记录进行建模?

spring - 尝试连接到MongoLab时URL格式的MongoException

ssh - 如何隐藏 ssh 期望用户/密码

ssh - 如何让 Hudson CI 通过 SSH 检查 CVS 项目?

php - 从php运行shell脚本

c# - 具有永久ShellExec连接的SharpSSH