web-dev-qa-db-ja.com

Exim:受信者のアドレスを特定の正規表現および条件付きメール配信と照合します

顧客が[email protected]の形式で電子メールを使用できるようにする必要があります。ここで、ユーザー名の部分は一種のUUIDです。これらの電子メールは、後で処理するために特定の(単一の)電子メールアドレス(たとえば-[email protected])に配信する必要があり、受信者アドレスはユーザーを区別するために使用されます。通常、これらのUUIDのリストを事前に知る方法がないため、これらのUUIDを/etc/mail/aliasesに書き込むことはできません。

これらの電子メールアドレスを受け入れるようにシステムエイリアスまたはローカルユーザーのルーターを構成するにはどうすればよいですか?

1
jdevelop
begin routers
guids:
  driver    = redirect
  senders   = \N^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}@example\.com$\N
  data      = [email protected]
  pipe_transport  = address_pipe
. . . . . .

そのルーターは、regexpと一致するlocalpartを持つすべてのメッセージをキャッチし、それらを単一のアドレスにリダイレクトします。

1
Kondybas

記録のために

begin routers
....
regexalias:
  driver = redirect
  data = ${lookup{$local_part}wildlsearch{/etc/aliases.wildcard}}

/etc/aliases.wildcard

^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}        user

これにより、eximの再起動を必要としないflexibleパターンを増やすことができます

0
jdevelop