WEB/システム/IT技術ブログ

xamppのfake sendmailを使ってローカル開発環境からメールを送信する

以前に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ほど細かい設定はできませんが、単純に開発環境でメールフォームのテストをしたい場合などは、簡単に環境を構築できるので便利ですね。

B!

Comment

コメントはありません

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives