2011-02-02 6 views
0

代替のsendmail.phpファイルを作成したいのですが、サーバを経由せずにphp mail() mail()コールが行われたことを確認し、適切な電子メールアドレスに移動するようにします。SMTPを使用する代わりに、ローカルファイルにphp mail()関数出力を出力します。

私はMAMPのインストールに取り組んでいますが、これは複数のローカルインストールにも適用できると私は考えています。グループにはすべてのタイプのオペレーティングシステムがあります。

このサイト:http://www.drupal4hu.com/node/55makes私はそれが難しくないはずだと思いますが、ライブサーバーからスクリプトを実行していて、ローカルマシンで試してみるとエラーが発生すると思います。最も頻繁に発生するエラー:

dyld: Symbol not found: __cg_jpeg_resync_to_restart 

- それ以外の不明な問題が原因の可能性があります。

私はphp.iniファイルを編集して遊んでいますが、私はSMTPサーバー経由ですべてを指示できることを知っていますが、私は誰か(自分自身を含む)に電子メールを送信する危険性はありません。私たちがテストしている間、本当の人々。

アイデア?ありがとう!

答えて

0

内蔵のmail()への直接の電話がたくさんある場合は、残念ながら悪いところです。最良の解決策はおそらくいくつかのラッパーを作成し、mail()へのすべての無期限の呼び出しをラッパーへの呼び出しですばやく置き換えることです。

これはどういうわけか不可能な場合は、作成した偽のsendmailを使ってメールの設定を調整して、ディスクに書き込むだけです。あなたは偽のsendmailにmail.sendmail_pathを設定し、その偽のsendmailにそのことをさせるだけです。

しかし、最良の答えは、アプリでメールを送信するためのAPIを作成し、常に使用されていることを確認し、そこからバックエンドをスイッチアウトすることです。そして、mail()をSwiftMailerZend_Mailのようなものに置きたいときは、アプリケーション固有のsend_some_email()関数の実装を変更するだけです。

+0

どのように取るように偽のsendmailを作成しますパラメータのセットを作成し、ディスクに書き込みますか?私はすでにラッパーを持っています。これはテスト目的のためのものです(おそらくテストするには最も滑らかな方法ではありませんが、実際のメールをたくさん送信したり、自分のコンピュータにメールサーバーを作成することをお勧めします) – Lee

0

開発/テストでPHP mail関数を使用するのではなく、システムにログを記録させるだけで、ログが検査されていることを確認することができます。

また、sendmail以外のものを使用することを検討してください。 PHPのSMTPライブラリはどこにでもあり、SSLを完全にサポートするものもあります(Gmailなど)。

0

Iファイルにsendmailの入力を渡すために、簡単なスクリプトを使用してきた:

# php.ini 
sendmail_path = "c:\xampp-php7\sendmail.bat" 

そして、実際のスクリプト(gist

@echo off 

::kam budeme ukládat e-maily? 
SET mailpath=c:\temp\mail\ 

if not exist %mailpath% mkdir %mailpath% 

::sestavíme název souboru 
echo %date:~0,11% 
SET filename=%date:~11,4%-%date:~7,2%-%date:~3,2%_%hours%-%time:~3,2%-%time:~6,2%_%time:~9,2% 

::zajistíme unikátnost souboru 
:random 
SET file="%mailpath%%filename%--%RANDOM%.mhtml" 
IF EXIST %file% goto :random 

::e-mail uložíme do souboru 
more %1 > %file% 

echo "%file%" > c:\temp\list 

::otevřeme adresář s e-maily Průzkumníkem 
start %mailpath% 

::a nebo přímo otevřeme e-mail 
:: start %file% 

echo "mail sent" 
関連する問題