On 3/16/2014 10:13 AM, Rick Zeman wrote:
> On Sun, Mar 16, 2014 at 9:43 AM, Noel Jones <njo...@megan.vbhcs.org> wrote:
>> On 3/16/2014 8:31 AM, Rick Zeman wrote:
>>> On Sat, Mar 15, 2014 at 11:34 PM, Noel Jones <njo...@megan.vbhcs.org> wrote:
>>>> On 3/15/2014 5:08 PM, Rick Zeman wrote:
>>>>> I've started working on my bastard Mac postfix relay.  For delivery to
>>>>> the local domain, it will only relay to the internal mail server
>>>>> defined in transport if the user exists locally on the postfix
>>>>
>>>> When relaying to an inside server, the domain should be specified in
>>>> relay_domains, not mydestination.
>>>>
>>>> Valid recipients should be listed in relay_recipient_maps.
>>>>
>>>> You can override the users to be delivered locally by using a
>>>> transport_maps entry pointing those users to the local: delivery
>>>> transport.
>>>>
>>>> http://www.postfix.org/ADDRESS_CLASS_README.html
>>>> http://www.postfix.org/BASIC_CONFIGURATION_README.html
>>>> http://www.postfix.org/STANDARD_CONFIGURATION_README.html
>>>>
>>>>
>>>> And turn off the debug logging -- it's rarely useful for any but the
>>>> most obscure errors, and the big errors get lost in the noise.
>>>>
>>>
>>> Oy.  Got it, thanks.  One last question.  I have recipient_delimiters
>>> = - and also reject_unverified_recipient in the smtpd recipient
>>> restrictions.  It looks like postfix (on my system, at least) does the
>>> smtp probe to the destination before the re-write of user-foo@ to
>>> user@ so it's effectively useless.  Are they mutually exclusive, or is
>>> there a way to force the rewrite to happen before the probe?  I didn't
>>> see anything under either common in the docs that addressed this
>>> scenario.
>>>
>>
>> Postfix does not rewrite user-...@example.com to u...@example.com.
>> Rather, postfix will use "fake" lookups of u...@example.com for
>> select table lookups as documented elsewhere, and carefully preserve
>> the -foo extension during delivery.
>>
>> Recipient address verification probes are always sent using the
>> exact address as supplied by the client.  If the remote system
>> doesn't accept user-foo@ as a valid address then the probe will
>> fail, as it should.
>>
>> If you need to strip the address extension, you could use
>> smtp_generic_maps to remove the extension during delivery.
> 
> The reading that I just did (generic, canonical) suggests that using a
> canonical table so cleanup(8) will rewrite the address before the
> inbound mail is queued vs generic_maps which would rewrite after it's
> queued.  Is that the only fundamental difference?  In reading both doc
> pages, however, I really didn't see any examples that would remap
> user-...@example.com to u...@example.com.  Nor could I find a good
> example by googling.
> 


example: use generic(5) to remove address extensions during remote
delivery.

# main.cf
smtp_generic_maps = regexp:/etc/postfix/smtp_generic.regexp

# smtp_generic.regexp
/^(.*)-.*@example\.com$/  $1...@example.com




Reply via email to