R commandのsendmail正規表現にいくつかの除外項目を追加しようとしています。以下の構成&正規表現は動作します:sendmail Rコマンド正規表現Kcheckaddress regex -a @ MATCHに除外項目を追加
LOCAL_CONFIG
#
Kcheckaddress regex [email protected]
[a-zA-Z_0-9.-]+<@[a-zA-Z_0-9-]+?\.+[a-zA-Z_0-9.-]+?\.(us|info|to|br|bid|cn|ru)
LOCAL_RULESETS
SLocal_check_mail
# check address against various regex checks
R$* $: $>Parse0 $>3 $1
R$+ $: $(checkaddress $1 $)
[email protected] $#error $: "553 Your Domain is Blocked for Unsolicited Mail"
だから我々は[email protected] [email protected]をブロックしたがされていません。私は都市や学校のために除外項目を追加して[email protected]とuser @ subdomainを許可したいと思っています。 ([状態]はDCを含む50の州のうちの1つを意味することに注意してください)。
この正規表現は、(テストとして、カリフォルニアのためのCAを使用して)動作していない:
(?!.*\@ci\..+?\.us$)(?!.*\@*\..+?\.ca.us$)([a-zA-Z_0-9.-][email protected][a-zA-Z_0-9-]+?\.+[a-zA-Z_0-9.-]+?\.(us)$)
私はこのエラーを取得する:
sendmail -bt
/etc/mail/sendmail.cf: line 199: pattern-compile-error: Invalid preceding regular expression
私に驚き何、ない正規表現を得るために先頭のスペースが必要な作業と、私は正規表現の一部の+<@
の機能は何ですか?ここでは(<)未満は何ですか?それはより大きい正規表現に追加する必要がありますか?
編集:私はかなりsendmail's R & Kコマンドが否定的な先読みをサポートしていないことを確信しています。ですから、誰かがsedにやさしい形式で正規表現を書き直すことができれば、私は感謝しています!