#背景
最近、バイト先で「ローカルネットワークで動いているサイトからGmailを使いたい」とお願いされて、こんな感じで環境を構築しました。そして、いざGメールを送信してみると、なぜか失敗してしまいます。
自宅のWindows10のパソコンでは正常に動くのに、、、
色々見ると、XamppのSendmailフォルダにあるerror.logは
Connection Closed Gracefully
とばかり書かれています。つまり、Sendmailが正しく動作していないみたいですね。
でも、直訳すると
"接続は正常に閉じられました"
です。はぁ~(*´Д`)
このエラーコードを元に調査した結果、「Windows8がいけないらしい」とか、「Sendmailが使えない」、「stuunelをインストールすればいい」とかの記事がいくつか出てきました。以下の2つのサイトを試しましたが、だめでした。
・【エラー解決方法】Windows8でxamppのsendMailが使えない!?を解決する方法
・Windows8にXAMPPを配置してgmailをsendmailで送信
しかし、以下のstack overflowというサイトの英語質問&解答を試したら解決しました!
・sendmail.exe opens on sending mail
解答者のYahya Uddinさん、ほんとに感謝しています!
※追記
公式ページにも書いてありました。
・fake sendmail for windows
issues running on windows 8+
http://stackoverflow.com/q/21337859 details a workaround for this which involves running sendmail.exe in "windows xp sp 3" compatibility mode as administrator.
#原因
どうやら、バイト先のパソコン(Windows8)で動かす場合、Sendmailの権限の設定とかを少し変えてやる必要があるみたいです。
#解決方法
まず、XamppのSendmailフォルダにある「sendamail.ini」を右クリックします。
そして、「プロパティ」を開いて、
「互換性」タブの「すべてのユーザーの設定を変更」をクリックします(この時にパスワードを求められますので入力してください)
そして「管理者としてこのプログラムを実行する」にチェックをして、
「互換モード」をWindows7から「Windows XP (Service Pack 3)」に変更します。
最後に「適用」をクリックして終了です。
一応Apacheの再起動をしてPHPのメール送信をしてみてください。解決するかもしれません。
#最後に
このエラーにだいたい5時間くらいとられました。お金にしてだいたい6000円ですね。もったいない。全然記事が無いので、気づくのに時間がかかりました。結果、英語の記事に答えがありましたねw
もっと英語勉強しなきゃ。。。
それでは!