私の Web サイトがある共有ホストには、メッセージをテキスト メッセージとして携帯電話に送信する電子メール フォワーダーがあります。しかし、最近では、それは少し手に負えなくなってきています。
cPanel の「ユーザー レベル フィルタリング」を使用して、07:00:00 から 22:00:00 の間にのみ電子メールを電話に転送するように RegEx ベースのフィルタを設定できることを願っています。
このフィルターは、通常、メッセージ ソースの 2 ~ 3 行にある次の電子メール ヘッダーに一致します。
Received: by 99.99.99.99 with SMTP id XyXyXyXyXyXyXy;
Tue, 15 May 2012 01:22:33
...そして、これは私がそれがうまくいくことを望んでいる方法です:
Received: by (ANY IP) with (ANYTHING) id (ANYTHING);
(Sun|Mon|Tue|Wed|Thu|Fri|Sat), (ANY DATE/MONTH/YEAR) (RegEx magic to match time?)
一致が成功すると (たとえば、時刻が 07:00:00 から 22:00:00 の間の場合)、メッセージが私の電話に送信されます。それ以外の場合は何もしません。(もちろん、これは RegEx 自体とは何の関係もありません。)
私は非常に正規表現のn00bですが、次の(機能しない)正規表現を考案しましたが、それが機能するのにどれだけ近いか、または遠いかわかりません:
\bReceived: by (.*) with [a-Z] id (.*)(Sun|Mon|Tue|Weds|Thu|Fri|Sat),(.*)[0-2][2-7]:[0-2][0-9]:[0-2][0-9]\bsi
考え、提案、または創造的な解決策はありますか? ホスティング サービスから、cPanel の RegEx は PERL 形式である必要があると言われました。