ローカルWebサーバーをセットアップするたびに、Sendmailのスタブに関する質問に遭遇します。
Windowsには優れたソリューションがあります。Windows用の
偽のsendmail (sendmail.exe)
http://glob.com.au/sendmail/habrには、この決定に関する記事があり
ます。WindowsでのPHPメール http://habrahabr.ru/post/26518/別のWindowsソリューション:
テストメールサーバーツール http://www.toolheap.com/test-mail-server-tool/Linuxoidsの記事もあります:
Linux用のSendmail-stub http://habrahabr.ru/post/49665/個人的には、純粋なPHPのソリューションの方が好きでしたが、これについては後で説明します。
このソリューションの特徴は、構成が最小限であることです。もちろん、メッセージの内容を知る必要がない限り、ファイル自体がなくても実行できます。 私の意見では、このような方法は他のPHP開発者が知っている価値があります。
問題は、開発者として何を優先するか、あなたのニーズはスタブ、そして知識とスキルのレベルです。
プロから:- サードパーティのサービスの欠如
- PHPがインストールされているOS向けのクロスプラットフォームソリューション
- 最小スタブファイルサイズ
- 最小設定
- すべてのスタブロジックはPHPで編集可能です。
- メッセージをファイルに保存
マイナスのうち:- 実際のメールボックスへの転送なし
- 送信されたメッセージへの便利なアクセスの欠如
スタブ引数と機能のリスト:- --dir <フォルダーパス> -ファイルのフォルダー
- --file <ファイル名> -特定の共有ファイルに各メッセージを保存します
- --prepend-共有ファイルの先頭に新しいメッセージを追加します
- --open-メモ帳でメッセージファイルを自動的に開く
PHP.INIファイルのパラメーター:[mail function] ;SMTP = localhost ;smtp_port = 25 ;sendmail_from = me@example.com sendmail_path = "php.exe C:\sendmail.php --dir C:\mail --open"
php.exeへのパスがPATHに記述されている場合は、PHP.INIで省略できます。それ以外の場合は、php.exeを<PHPのあるフォルダーへのパス> \ php.exeに変更することをお勧めします
sendmail_path = "C:\server\bin\php\php.exe C:\sendmail.php --dir C:\mail --open"
Linuxでは、最初に実行することを忘れずに、ファイルへのパスをすぐに指定できます
。chmod755 sendmail.php sendmail_path = "/home/someuser/sendmail.php --dir /tmp/mail"
sendmail.phpスクリプト自体:
私が約束したように、ファイルなしで行う機会もあります。
sendmail_path = "C:\server\bin\php\php.exe -r 'echo 1;'"
または、簡素化されたソリューションを使用する
sendmail_path = "C:\server\bin\php\php.exe C:\sendmail.php"
sendmail.php:
それがあなたに役立つことを嬉しく思います。