Ah yes, you're right.

I have yet to find any obvious way directly in Postfix to either force the From: header to be rewritten to MAIL FROM envelope, or to check this same header against the envelope or authenticated username.

I had some ideas of possibly using cleanup, trivial-rewrite, canonical, but I've yet to find a way to make it work. If there's some generic Milter around that can run simple scripts that could work to bounce. Or for rewrite, trigger a script after message has been queued to modify the From header (perhaps AlterMIME can be used for this?)

/Tobias

On 2016-04-03 12:32, Hamy wrote:
Hi, thank you for your response. But i don't think that any of those actually apply to my situation. they're all restrictions applied to 'MAIL FROM:' envelope, and as I've said earlier, I've already taken care of that and it works fine. what I'm talking about is the 'From:' field of the message header (not the envelope). i want to enforce matching it against the 'MAIL FROM:' envelope. for example if the user is SASL authenticated as us...@example.com , she is allowed(and enforced) to use:

MAIL FROM:<us...@example.com>

Now i want to match that against the message header 'From:'. the user should be only allowed to use something like this in the header:

From: /nickname /<us...@example.com>

Anything else, should be rejected.

Any ideas?
Thanks in advace.


On Sunday, 3 April 2016, 14:42, Tobias <lists.zx...@otaking.se> wrote:


On 2016-04-03 04:35, Hamy wrote:
Hi
I am using /smtpd_sender_login_maps/ on submission port to enforce the envelope 'mail from:' command, and its working as expected. the problem however is that the user can still use any arbitrary 'From:' header field that she wants and opendkim will happily sign it. I am looking for a way to enforce the from: header filed to match the sasl authenticated username. ideally this should happen before queuing so i can reject the message while smtp session is still in progress. It is my understanding that /header_checks/ can't be used for this as it's functionality is very limited.

What are my options? can anyone please help?
Thank you in advance

Best Regards,

A quick search uncovered four options for *smtpd_sender_restrictions* which you should check.

*reject_authenticated_sender_login_mismatch*
    Enforces thereject_sender_login_mismatch
    
<http://www.postfix.org/postconf.5.html#reject_sender_login_mismatch>restriction
    for authenticated clients only. This feature is available in
    Postfix version 2.1 and later.

*reject_known_sender_login_mismatch*
    Apply thereject_sender_login_mismatch
    
<http://www.postfix.org/postconf.5.html#reject_sender_login_mismatch>restriction
    only to MAIL FROM addresses that are known in
    $smtpd_sender_login_maps
    <http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps>.
    This feature is available in Postfix version 2.11 and later.
*reject_sender_login_mismatch*
    Reject the request when $smtpd_sender_login_maps
    <http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps>specifies
    an owner for the MAIL FROM address, but the client is not (SASL)
    logged in as that MAIL FROM address owner; or when the client is
    (SASL) logged in, but the client login name doesn't own the MAIL
    FROM address according to $smtpd_sender_login_maps
    <http://www.postfix.org/postconf.5.html#smtpd_sender_login_maps>.


*reject_unauthenticated_sender_login_mismatch*
    Enforces thereject_sender_login_mismatch
    
<http://www.postfix.org/postconf.5.html#reject_sender_login_mismatch>restriction
    for unauthenticated clients only. This feature is available in
    Postfix version 2.1 and later.



BR
Tobias



Reply via email to