GNU/Linux >> Linux の 問題 >  >> Panels >> cPanel

受信メールメッセージをスクリプトファイルに転送する方法

cPanelを使用すると、受信した電子メールメッセージをスクリプトファイルにパイプする電子メールフォワーダーを設定できます。次に、スクリプトファイルをプログラムして、着信メッセージを必要に応じて自動的に処理できます。

スクリプトの構成

現在、電子メールフォワーダースクリプトでは次の言語がサポートされています。

  • PHP
  • Perl
  • Python
  • ルビー

スクリプトを設定するとき、フォワーダーが正しく機能することを確認するために実行する必要がある2つのことがあります。

  1. 正しいシバンを使用する: これは、スクリプトの作成に使用している言語によって異なります。たとえば、PHPスクリプトファイルでは、ファイルの先頭に次のシバンを使用する必要があります。
    #!/usr/bin/php -q
    -q オプションは、HTTPヘッダー出力を抑制するクワイエットモードを有効にします。他の言語の正しいシバンについては、この記事を参照してください。
  2. スクリプトの正しいファイル権限を設定します: これを行うには、 scriptfile を置き換えて、次のコマンドを入力します スクリプトファイル名を使用:

    chmod 755 scriptfile
    

フォワーダーまたはスクリプトファイルに構成エラーがある場合、メッセージ送信者は次のメッセージを受信します。

Mail delivery failed: returning message to sender

さらに、この戻りメッセージには、スクリプトファイルのコードフラグメントを含むエラーが表示される場合があります。アクティブな電子メールフォワーダーで使用する前に、スクリプトファイルを徹底的にテストしてください。

サンプルPHPスクリプト

次の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にメールフォワーダーを追加する

スクリプトファイルにリダイレクトする電子メールフォワーダーを追加するには、次の手順に従います。

  1. cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
  2. cPanelのホーム画面の[メール]セクションで、[転送]をクリックします。

  3. [フォワーダーの追加]をクリックします。
  4. [転送先アドレス]テキストボックスに、アカウントのユーザー名を入力します。
  5. [ドメイン]リストボックスで、電子メールアカウントのドメインを選択します。
  6. [詳細オプション]をクリックします。
  7. [プログラムへのパイプ]をクリックし、テキストボックスに、ホームディレクトリからの相対的なスクリプトへのパスを入力します。たとえば、スクリプトが /home/username/scripts/process_mail.phpにある場合 、scripts/process_mail.phpと入力します。
  8. [フォワーダーの追加]をクリックします。フォワーダーはすぐにアクティブになります。
  9. 電子メールメッセージを電子メールアドレスに送信することにより、フォワーダーをテストできます。対応するスクリプトファイルが実行されます。

cPanel
  1. VimでBashスクリプトを強調表示するには?

  2. シェルで .sh 拡張子のないファイルを実行する方法

  3. bash スクリプトで unicode を grep する方法

  1. 電子メールメッセージはGmailアカウントに転送されません

  2. 電子メールメッセージはOutlook.com(Hotmail)アカウントに転送されません

  3. cPanelで電子メールディスクの使用を管理する方法

  1. 受信メールメッセージをIPアドレスでフィルタリングする方法

  2. Pleskで電子メールアカウントの自動返信メッセージを有効にする方法

  3. シェルスクリプトBashでサブストリングをチェックする方法は?