(grails)com.sun.mail.smtp.SMTPSendFailedException:553不允许作为zoho邮件进行中继
我正在尝试在grails中配置zoho邮件服务。这是我到目前为止的配置(grails)com.sun.mail.smtp.SMTPSendFailedException:553不允许作为zoho邮件进行中继,grails,smtp,grails-plugin,zoho,Grails,Smtp,Grails Plugin,Zoho,我正在尝试在grails中配置zoho邮件服务。这是我到目前为止的配置 grails { mail { host = "smtp.zoho.com" port = 465 username = "email@valid.com" password = "some-valid-password" props = ["mail.smtp.auth":"true", "ma
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)
}
}
这是stacktrace
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)
删除此行邮件.smtp.starttls.enable:true,添加此行邮件.smtp.startssl.enable:true删除此行邮件.smtp.starttls.enable:true,添加此行邮件.smtp.startssl.enable:true您只需从添加电子邮件逻辑的属性中提及设置即可。 示例:我使用JavaMailSender和MimeMessage发送电子邮件,所以在这种情况下,我必须提到helper.setFrom
附言:我尝试了很多方法,之后我就解决了这个问题。您只需从添加电子邮件逻辑的属性中提及设置。 示例:我使用JavaMailSender和MimeMessage发送电子邮件,所以在这种情况下,我必须提到helper.setFrom
附言:我已经尝试了很多方法,之后我就用这个解决了。这对tls有效。。在我的案例中,不是使用ssl,而是使用tls。。在我的例子中,不是使用ssl