Fat Bear Mail Services wrote:
Hi Noel,
The issue here is that these e-mail addresses are in use for QE purposes such as testing new account signups for a given service. What happens is that during a "signup test", some 10,000 e-mails will be sent out to addresses matching the pattern such as:

    [EMAIL PROTECTED]

with the desired result that these are delivered to:

    [EMAIL PROTECTED]

(Of course the names acme, mycompany, and acmedesign.com are actually different)

are the "pat", "acme", "mycompany.com", and "acmedesign.com" parts static, or do they vary? All discussions below assume they are static.


It would be unreasonable to have a 1:1 mapping of names in the virtual file because there are (1) so many of them;

Size is largely irrelevant. Hash tables scale very well to hundreds of thousands entries, cdb to millions.

and, (2) because the automated scripts that are sending out the e-mails might be testing different numbers of recipients with different characters being allowed in the "*" part above.

You're willing to throw away the "*" part above in your regexp, why can't you throw it away in a pre-process awk?

I'll emphasize that this need is not about sending spam or bulk e-mail. It is all about the need to do load and performance testing.

So, under this specific need, I'm wondering what the right approach would be to do the remapping... and wanting it to be as much "production quality" as possible. The solution I wrote:

        /^pat-acme([EMAIL PROTECTED])@mycompany.com/ [EMAIL PROTECTED]

in the regexp:/etc/postfix/virtual.regexp

/[EMAIL PROTECTED]@mycompany\.com$/ [EMAIL PROTECTED]
is a better expression; does it really do what you want?

BTW, use pcre rather than regexp if your postfix supports it (postconf -m to check). Pcre is faster, dramatically so on some platforms.


does work, but is it as good as it can be under the circumstances? E.g., will it fail to match recipients under conditions such as an address formatted as:

    "Any Old Text Here" <[EMAIL PROTECTED]>

virtual_alias_maps processes the envelope address, so there won't ever be comments such as you see in a To: header.

If you need to fix the To: (or From:) header also, use header_checks with IGNORE to remove it. It's possible to use REWRITE to transform it, but that gets pretty tricky.


--
Noel Jones

Reply via email to