Wordpressサイトを実行するためにnginx/php-fpmを実行し、Postfix/Saslauthdを介してSMTPサーバーを実行している小さなUbuntu16.04VPSがあります。私のメールサーバーは送受信で問題なく動作しています。メール、そして私はPostmanプラグインを介してphp mail()の代わりにSMTPを使用するようにWordpressを設定しました、そしてそれは完全に機能します。
ただし、Wordpressからメール連絡フォームを送信しようとすると、405 NotAllowedエラーが発生し続けます。いくつかの異なる連絡フォームプラグイン(海賊版、連絡先メールフォーム)を試しましたが、それでも同じ結果が得られました。また、Postmanを無効にしてWordpress php mail()を使用するように強制しましたが、それでも405を取得しました。
編集:私が投稿しようとしているURLはhttps://example.com/contact/
Nginxアクセスログはこれを示しています:
xxx.xxx.xxx.xx - - [09/Oct/2016:20:10:07 -0400] "GET /favicon.ico HTTP/2.0" 200 524 "https://example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36"
xxx.xxx.xxx.xx - - [09/Oct/2016:20:10:08 -0400] "GET /contact/ HTTP/2.0" 200 6090 "https://example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36"
xxx.xxx.xxx.xx - - [09/Oct/2016:20:10:09 -0400] "GET /favicon.ico HTTP/2.0" 200 524 "https://example.com/contact/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36"
xxx.xxx.xxx.xx - - [09/Oct/2016:20:10:22 -0400] "POST /contact/ HTTP/2.0" 405 626 "https://example.com/contact/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36"
xxx.xxx.xxx.xx - - [09/Oct/2016:20:10:22 -0400] "GET /favicon.ico HTTP/2.0" 200 524 "https://example.com/contact/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36"
Error.logに何も表示されません。
最初にすべてのリクエストをmemcachedに渡すため、405エラーが発生しますが、処理できるのはGET(およびHEAD)リクエストのみです。したがって、このアップストリームは405 Method NotAllowedを返します。あなたは実際にこれを処理する必要がありますが、現時点ではそれを無視しています。これを行う最も簡単な方法は、error_page
で処理するエラーのリストに405を追加することだと思います。