2012年4月5日木曜日

Windows7、XAMPPのMercuryを使ってローカル開発環境からメールを送信する

XAMPPを使って、サーバー環境の開発をしている場合、PHPアプリからメール送信させる

適用業務を行う場合、アプリの動作確認として、この環境から、メールを外部に投げて

その結果を見たくなると思います。

現在のところ、

XAMPP環境では、Mercuryが同胞されていますが、自分用に設定をしないと使えません。

今回、少々苦戦いたしましたが、成功したものを掲載します。

ご参考まで。


1、ローカル環境

OS:Windows7(32Bit)
XAMPP:1.7.7
 + Apache 2.2.21
  + MySQL 5.5.16 (Community Server)
  + PHP 5.3.8 (VC9 X86 32bit thread safe) + PEAR
  + XAMPP Control Panel Version 2.5 from www.nat32.com 
  + (BETA) XAMPP Control Panel Version 3.0.2 by Steffen Strueber (not in the USB & lite version)
    see http://www.apachefriends.org/f/viewtopic.php?f=16&t=46743
  + XAMPP Security
  + OpenSSL 1.0.0e
  + phpMyAdmin 3.4.5
  + ADOdb 5.14
  + Mercury Mail Transport System v4.62 (not in the USB & lite version)
  + FileZilla FTP Server 0.9.39 (not in the USB & lite version)
  + Webalizer 2.23-04 (not in the USB & lite version)
  + Perl 5.10.1 (not in the USB & lite version)
  + Mod_perl 2.0.4 (not in the USB & lite version)
  + Tomcat 7.0.21 (not in the USB & lite version)

2、PHPの設定

PHPの設定を変更して、Mercuryにメールが流れるようにします。

XAMPPをインストールしてあるディレクトリから、php.iniに変更を加えます。

2-1,xampp\php\php.iniのバックアップ

    php.iniをコピーして変更前のバックアップをとります。

2-2、php.iniの編集

    適当なエディターでphp.iniを開きます。
    [mail function]を検索します。

----------------------------------------------------------------------
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = postmaster@localhost
sendmail_from = [送信するメールアドレス]
----------------------------------------------------------------------
変更箇所:sendmail from = [送信するメールアドレス]

2-3php.iniをsave

2-4XAMPPコントロールパネルを立ち上げ、Apachieを起動します。


3、Mercuryの設定
3-1、XAMPPコントロールパネルからMercuryを起動
3-2、XAMPPコントロールパネルからMercury Adomin画面を起動する。
3-3、Mercury Adomin画面「Configuration」>「Protocol Modules・・・」をクリック
3-4、「Select active protocol modules」ダイアログ上の「Active protocol Modules」
     のラジオボタンを下記のみにチェックを入れる。
     ・MercuryS SMTP server
           ・MercuryC SMTP relaying client


3-5、Mercury Adomin画面「Configuration」>「MercuryS SMTP Server」をクリック

    「Conection control」タブを選択、「Connection control」の「Add restrection」ボタンを押す

    ・「Edit connection entry」ダイアログ上の「Specify address or range address for entry」
    内の「IP Address range・from」に「172.0.0.1」を記入。
    ・「Attributes for this entry」内の[Allow connections」ラジオボタンをオンにする。

     

     okを押す。

     ・「MercuryS SMTP Server」ダイアログの「Conection control」タブ上の「Relaying control」
      内のチェックは全部はずす。
     ・「OK」を押して終了。

3-6、Mercury Adomin画面「Configuration」>「MercuryC SMTP Client」をクリック

         ・「MercuryC SMTP Relay Client Configration」の「SMTP "Smart"Host details」内の
    ・「Smart host mane」にいつも使っているISPのSMTPホスト名を入力する。
    ・「Connection port/tupe」には、ISPの指定の通りにする。(私の場合は、デフォルトでok)
    ・「Credentials for SMTP Authentication, if required」内の
     「Login Username」と「Password」には、送信元メールアドレスを指定する。
    ・okを押して編集終了。

3-7、Mercury Adomin画面「Configuration」>「Manage local Users・・・」をクリック。

    ・「User defined for this system」ダイアログの「Add」ボタンを押す。
    ・「User details」の「Setting for this user」内にISPで使っている送信元メールアドレス
     として指定するメールのユーザー名、メールパスワードを入力する。
     「Usernaame」、「Mail password」を上記にしたがって入力する。
    ・okを押して終了。

3-8、Mercury Adominパネルを終了させ、Mercuryを再起動する。

これで、PHPアプリから、指定したメールアドレスに対し、フォーム等の入力が送信される
と思います。


2012年4月3日火曜日

春の嵐 爆弾低気圧~首都圏直撃~

三時すぎからだんだん雲行きが怪しくなり、交通網がとまり始めました。

18:13現在、浦安では、JR京葉線不通
               東京メトロ東西線、東陽町ー西船橋 不通



部屋の窓を風が吹き付け、圧迫感を感じます。あまりひどいことにならないように

祈ります。