cPanelを使用すると、受信した電子メールメッセージをスクリプトファイルにパイプする電子メールフォワーダーを設定できます。次に、スクリプトファイルをプログラムして、着信メッセージを必要に応じて自動的に処理できます。
現在、電子メールフォワーダースクリプトでは次の言語がサポートされています。
- PHP
- Perl
- Python
- ルビー
スクリプトを設定するとき、フォワーダーが正しく機能することを確認するために実行する必要がある2つのことがあります。
- 正しいシバンを使用する: これは、スクリプトの作成に使用している言語によって異なります。たとえば、PHPスクリプトファイルでは、ファイルの先頭に次のシバンを使用する必要があります。
#!/usr/bin/php -q
-q オプションは、HTTPヘッダー出力を抑制するクワイエットモードを有効にします。他の言語の正しいシバンについては、この記事を参照してください。 -
スクリプトの正しいファイル権限を設定します: これを行うには、 scriptfile を置き換えて、次のコマンドを入力します スクリプトファイル名を使用:
chmod 755 scriptfile
フォワーダーまたはスクリプトファイルに構成エラーがある場合、メッセージ送信者は次のメッセージを受信します。
Mail delivery failed: returning message to sender
さらに、この戻りメッセージには、スクリプトファイルのコードフラグメントを含むエラーが表示される場合があります。アクティブな電子メールフォワーダーで使用する前に、スクリプトファイルを徹底的にテストしてください。
次のPHPコードサンプルは、受信電子メールメッセージを処理する1つの方法を示しています。スクリプトは、 stdinからメッセージを読み取るだけです。 、メッセージテキストを $ messageという名前の変数に保存します :
#!/usr/bin/php -q <?php $fd = fopen( "php://stdin", "r" ); $message = ""; while ( !feof( $fd ) ) { $message .= fread( $fd, 1024 ); } fclose( $fd ); // The $message variable now holds the entire message text, // which you can use for further processing. ?>
cPanelにメールフォワーダーを追加する
スクリプトファイルにリダイレクトする電子メールフォワーダーを追加するには、次の手順に従います。
- cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
- cPanelのホーム画面の[メール]セクションで、[転送]をクリックします。
- [フォワーダーの追加]をクリックします。
- [転送先アドレス]テキストボックスに、アカウントのユーザー名を入力します。
- [ドメイン]リストボックスで、電子メールアカウントのドメインを選択します。
- [詳細オプション]をクリックします。
- [プログラムへのパイプ]をクリックし、テキストボックスに、ホームディレクトリからの相対的なスクリプトへのパスを入力します。たとえば、スクリプトが /home/username/scripts/process_mail.phpにある場合 、scripts/process_mail.phpと入力します。
- [フォワーダーの追加]をクリックします。フォワーダーはすぐにアクティブになります。
- 電子メールメッセージを電子メールアドレスに送信することにより、フォワーダーをテストできます。対応するスクリプトファイルが実行されます。