2012-02-09 14 views
0

私はphp5を使用しています。phpはファイルに電子メールをリダイレクト

すべてのメールをフォルダにリダイレクトする設定や簡単なphp.iniディレクティブがありますか?

システムによって生成されたすべての電子メールが実際の受信者に送信されずにフォルダに入れられるようにするために、開発マシンで使用します。

ありがとうございました。

答えて

0

が、私はこのようないくつかのコード(ちょっと擬似コード)を持つために使用される:

define ('DEBUG', true); 
function send_email($to, $subject, $body) { 
    if (DEBUG) { 
     file_put_contents('some_folder/' . $to . date('dmY-His') . '.html', $body); 
    }else{ 
     // Actual code to send email 
    } 
} 

をしかし、私は他の人と同意する、それはそれらの電子メールを受信するために、開発の電子メールアカウントの設定により良い/より簡単です。

+0

私は、この解決策には、サーバーが電子メールを送信する電子メールアドレスが1つだけではないので(ユーザーは登録できる) – memical

0

私はこのようなことをすることはできないと思います。メールはメールサーバーによって送信されるので、送信する代わりにファイルに書き込むメールサーバーでなければなりません。

なぜ特別な開発電子メールに送信してみませんか?

サンプル:

define('DEBUG', true); 

if(DEBUG) 
{ 
    // Override recipient 
    $recipient = '[email protected]'; 
} 

// Send mail... 
+0

Catch emails with php script

もう一つはこれです:

一つの解決策はこれです。 – memical

0

私はPHP自体での意識だん設定。

ます:/etc/postfix/main.cf:(これを追加し、あなたの開発サーバー上のPostfixを使用している場合は、ここで私は、単一の(ローカル)アドレスにすべてのアウトバウンド電子メールをリダイレクトするように調理されたレシピです既存のファイルに、すべてを置き換えることはありません)

virtual_alias_maps = regexp:/etc/postfix/virtual 

の/ etc/postfixの/仮想

/.*/ [email protected] 
0

あなたは通常どおりのSMTPメッセージを受け付けるようにメールサーバーを設定しますが、作ることができますそれらを別のメールサーバーに転送することはできません。あなたのメールサーバがそれをサポートしているなら、すべてのメッセージをポストマスターアカウント、またはあなたが選んだ他のアドレスにリダイレクトさせます。

これは、PHPが正常に動作し、すべてがメッセージとともにすぐに動作するように見えますが、「意図された」受信者には行かないことを意味します。

これは、ヘッダーを(通常のように)表示し、デバッグをサポートできることを意味します。

0

これを実行する方法は多数あります。基本的には、ローカルにメールを保存するプログラムやスクリプトを指すようにphp.iniのsendmailコマンドを定義する必要があります。私は、このソリューションで行こうと思い

Mail catcher

関連する問題