web-dev-qa-db-ja.com

クライアントには、この送信者として送信する権限がありません(Office 365、grails)

Grailsスプリングセキュリティプラグインのgrailsメールプラグイン( https://grails.org/plugin/mail )を構成しようとすると、次のエラーメッセージが引き続き表示されます。

これが私の設定です。

 
 grails {
 mail {
 Host = "smtp.office365.com" 
 port = 587 
 username = "info @ email.com "
 password =" password "
 props = [" mail.smtp.starttls.enable ":" true "、
" mail.smtp.port ": "587"] 
} 
} 
 
 grails.mail.default.from = "[email protected]" 
 

そして、これが私のスタックトレースです。

 
 ....... |エラー2015-04-1711:59:39,184 [http-bio-8080-exec-8]エラーerrors.GrailsExceptionResolver-リクエストの処理中にMailSendExceptionが発生しました:[POST]/retouch/register/forgotPassword-パラメーター:
ユーザー名:customer 
失敗したメッセージ:com.Sun.mail.smtp.SMTPSendFailedException:550 5.7.60 SMTP;クライアントには、この送信者として送信する権限がありません
。スタックトレースは次のとおりです。
メッセージ:失敗したメッセージ:com.Sun.mail.smtp.SMTPSendFailedException:550 5.7.60 SMTP;クライアントには、この送信者として送信する権限がありません
行|メソッド
->> 131 | grails.plugin.mail.MailMessageBuilder 
のsendMessage ------ ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
 | 55 | grails.plugin.mail.MailService 
のsendMail | 59 | sendMail。 。 。 '' 
 | 156 | grails.plugin.springsecurity.ui.RegisterController 
のforgotPassword | 198 | doFilter。 。 。 grails.plugin.cache.web.filter.PageFragmentCachingFilter 
 | 63 | grails.plugin.cache.web.filter.AbstractFilter 
のdoFilter | 53 | doFilter。 。 。 grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter 
 | 49 | grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter 
のdoFilter | 82 | doFilter。 。 。 grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter 
 | 1145 | Java.util.concurrent.ThreadPoolExecutor 
のrunWorker | 615 |実行します。 。 。 。 。 Java.util.concurrent.ThreadPoolExecutor $ Worker 
 ^ 745 | Java.lang.Thread 
 
で実行

注:問題はGrailsのSpringSecurityプラグインでのみ発生します。

6
Balkrishna

私はまったく同じ問題に遭遇しました。電子メールの「from」属性をno-reply @ localhostとして設定しようとしている春のセキュリティが原因で、問題が発生しているようです。これらの行を構成ファイルに追加してみてください

 grails.plugin.springsecurity.ui.register.emailFrom = '[email protected]'
 grails.plugin.springsecurity.ui.forgotPassword.emailFrom = '[email protected]'

注:[email protected]はoffice365のメールアドレスです

7
Aasiz

ユーザー名= "[email protected]"

grails.mail.default.from = "[email protected]"

ユーザー名emailはfromemailと同じでなければなりません。

4
hahamy

GrailsがテストGMailアカウントを使用して非常に簡単にメールを送信できるようになりましたが、Outlook.office365.comアカウントから送信しようとすると、コードがエラーでクラッシュしました。

失敗したメッセージ:com.Sun.mail.smtp.SMTPSendFailedException:550 5.7.60 SMTP;クライアントには、この送信者として送信する権限がありません

私はこの行を見逃していただけであることがわかりました:

grails.mail.default.from = "[email protected]"

grails.mail.default.fromで指定されたメールアドレスはgrails.mail.usernameで指定されたものと一致する必要があることに注意してください。

これが私のために働いた構成です。基本的な例は、本Grails in Action(2nd Ed)のHubbubの例です。

grails.mail.default.from = "[email protected]"
grails {
  mail {  
      Host = "Outlook.office365.com"
      port = 587
      username = "[email protected]"
      password = "secret"
      props = [ "mail.smtp.starttls.enable" : "true",
                "mail.smtp.port"            : "587",
                "mail.smtp.debug"           : "true" ]
  }

対応するメール送信機能は次のとおりです。

def email() {
  println( "Sending email.." );
  sendMail {
      to "[email protected]"
      subject "[mail-test]"
      body ("This is a test email, time: " + new Date() )
  }
  println( "  success!!!" );
  flash.message = "Successfully sent email"
  redirect( uri: "/" );
}
4
Alan Thompson