以前にxamppのMercuryを使ってローカルPHP開発環境からメールを送信する方法を紹介しました。
xamppのMercuryを使ってローカル開発環境からメールを送信する
しかし、最近XAMPPをアップデートしてから調子が悪い。
Mercuryの設定を変更しても保存されません。直接設定ファイルを開いたり、再起動したり、サービスを管理したりしてますが、どうもうまくいかない。バグらしい情報も見当たらないし困っていました。
そんな中、過去にトライした「fake sendmail」で容易に実現したのでメモとして残します。
ちなみにローカルの開発環境は「Windows 7 64bit」と「xampp 1.8.2」です。PHPやfake sendmailはxamppに同胞されているものをそのまま使います。
Mercuryを停止
Mercuryからの移行ということで、Mercuryを動かすために必要だった設定はリセットしておきます。
ここを残してしまうと、恐らくfake sendmailと競合が発生してうまく動作しません。
まず、xampp controlからMercuryを停止します。サービス登録している場合はサービスから外します。
さらにphp.iniを開いて、以下のように関連項目をコメントアウトします。
; SMTP = localhost ; smtp_port = 25 ; sendmail_from = (送信元として利用するメールアドレス)
設定を反映させるためにApacheを再起動します。
fake sendmailを設定
fake sendmailを設定します。
php.iniを開いて、以下のようにコメントアウトを外します。
sendmail_path = ""C:\xampp\sendmail\sendmail.exe" -t" ; sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
「mailtodisk.exe」ではないので注意しましょう。
(というかこれなんだろう。またの機会に調べてみます。)
次に、「…/xampp/sendmail/sendmai.ini」を開いて、以下の項目を設定します。
smtp_server=(SMTPサーバ) smtp_port=25 auth_username=(ユーザ名) auth_password=(パスワード)
各項目は利用環境に応じて設定します。
普段利用しているレンタルサーバでもGmailでもかまいません。光の場合はポートは587ですね。
設定を反映させるためにApacheを再起動します。
動作確認
PHPで関数mb_send_mailなどを使った簡単なプログラムを作成して送信してみます。
実際にメールが送られれば完了です。
Mercuryほど細かい設定はできませんが、単純に開発環境でメールフォームのテストをしたい場合などは、簡単に環境を構築できるので便利ですね。
コメントする