Moore, Patrick:
> Thanks, Wietse.
>
> I'm going to outline how the 20,000 entries were lost and how I modified the
> address_verify_map file. This is to help anyone who encounters my issues in
> the future.
>
> I ran postmap -s hash:/path/to/address_verify_map > address_verify_map.out
> I modified the address_verify_map.out file by removing the entries. In my
> case these were people with error 550 (unknown user).
> I ran postmap address_verify_map.out. If there were any duplicate entries
> (case-insensitive) within the file, this process removed them.
>
> I had to shutdown postfix, move the address_verify_map.out file to
> /path/to/address_verify_map and change permissions to postfix:postfix.
> Start postfix up.
Use "postmap -f".
Wietse
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Wietse Venema
> Sent: Thursday, September 18, 2014 9:56 AM
> To: Postfix users
> Subject: Re: address_map_verify question
>
> Moore, Patrick:
> > All,
> >
> > I've recently implemented the address_verify_map to mitigate some
> > verification problems we were having with a cloud provider. I had to
> > remove one entry in this cache. After using postmap -s to export the
> > contents to file, remove the offending entry, and run postmap again to
> > recreate the file, I lost approximately 20,000 entries in the cache.
>
> Editing the cache is not supported. That would require sending messages to
> the verify daemon, and such code does not exist at this time. The verify
> daemon locks the file for exclusive access and bad things will happen when an
> open file is changed.
>
> > When running postmap to recreate the file, all of these "duplicates"
> > were removed. Is this normal behavior? Is postfix case-sensitive with
> > regards to recipient verification on inbound mail?
>
> RFC 5321 section 2.4 says:
>
> [SMTP command] Verbs and argument values [...] are not case
> sensitive, with the sole exception in this specification of a
> mailbox local-part [...]
>
> I did not write code to case-fold the domain portions. That would be an
> optimization to save some space. There is also some risk of false positives
> and false negatives; Postfix does know how downstream software handles case
> differences.
>
> You're welcome to contribute code to case-fold domain portions, but you must
> not use strchr().
>
> Wietse
>