Sisupoika
asked on
Postfix: rewriting Return-Path
This is a follow up to a previous (solved) question at https://www.experts-exchange.com/questions/24135863/Own-postfix-smtp-server-as-relay-for-Google-Apps-Premier-Edition.html.
I have managed to strip the sender header, and do other modifications. This is working great now, but still my private email address is shown in the full message in the "Return-Path" header or whatever it is.
If I understood rightly from here and there, Return-Path is not a normal header and therefore I can't change it as I already do for the sender, and that might be the reason why it is not working, as if the rules I set for Return-Path were completely ignored.
What I want to do is be able to send emails from a -say- public email address (eg. public@domain2.com) from my Google Apps Premier Edition account, which is associated with the address -say- private@domain1.com.
When I send emails as public@domain2.com, for example to forums (or if I register to newsletters, services, etc), I don't want my private email address (which is made of name+surname) to be shown anywhere.
So, the question is: how can I make sure (with my postfix server, used as relay for Google Apps PE), that the "Return-Path" shows the email address I am sending the email from, rather then the default/primary email address?
Thanks in advance.
I have managed to strip the sender header, and do other modifications. This is working great now, but still my private email address is shown in the full message in the "Return-Path" header or whatever it is.
If I understood rightly from here and there, Return-Path is not a normal header and therefore I can't change it as I already do for the sender, and that might be the reason why it is not working, as if the rules I set for Return-Path were completely ignored.
What I want to do is be able to send emails from a -say- public email address (eg. public@domain2.com) from my Google Apps Premier Edition account, which is associated with the address -say- private@domain1.com.
When I send emails as public@domain2.com, for example to forums (or if I register to newsletters, services, etc), I don't want my private email address (which is made of name+surname) to be shown anywhere.
So, the question is: how can I make sure (with my postfix server, used as relay for Google Apps PE), that the "Return-Path" shows the email address I am sending the email from, rather then the default/primary email address?
Thanks in advance.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Sorry, made a little mistake while doing copy&paste.
The last line complete is sender_canonical_maps = hash:/etc/postfix/canonica l
The last line complete is sender_canonical_maps = hash:/etc/postfix/canonica
Please provide appropriate part of your maillog.
ASKER
Great, I restarted postfix again and it's working now! The return path shows the address I specified in the canonical file and not the other private address.
So, the points are yours already, but before closing, one last addition if you don't mind :)
As it is now, it is perfect if I use one additional address in Google Apps, apart from the main one.
So I have my personal, private address (for friends etc only), and the other one for forums, newsletters etc.
What if I want to use, within the same Google Account, also an address I use for work?
How should I do for the mapping? I am a bit confused in this case because the main address would be the same.
So I have now in the canonical file:
private@domain1.com public@domain2.com
and ...?
private@domain1.com work@domain3.com
So, the points are yours already, but before closing, one last addition if you don't mind :)
As it is now, it is perfect if I use one additional address in Google Apps, apart from the main one.
So I have my personal, private address (for friends etc only), and the other one for forums, newsletters etc.
What if I want to use, within the same Google Account, also an address I use for work?
How should I do for the mapping? I am a bit confused in this case because the main address would be the same.
So I have now in the canonical file:
private@domain1.com public@domain2.com
and ...?
private@domain1.com work@domain3.com
Oops.. I forgot to write, that you have to do postfix reload :)
You can't rewrite one 'source' address to multiple 'destination' addresses.
You can't rewrite one 'source' address to multiple 'destination' addresses.
ASKER
Hi, thanks again. Aren't there any built in variables I can use?
Something like
private@domain1.com $senderEmailAddress
where $senderEmailAddress is the email address from which the mail has been sent to?
Something like
private@domain1.com $senderEmailAddress
where $senderEmailAddress is the email address from which the mail has been sent to?
Unfortunately no.
Probably you should be able to do this in some other way (but it's not an elegant solution). You should run another postfix instance on some other port (ie. 2525) - you can do this by editing master.cf file and adding there proper lines (similar to line starting with 'smtp inet...'). This new instance should use another file for canonical rewrites (you can define it with "-o sender_canonical_maps = hash:/some/other/canonical _file". Of course you should have your second address defined.
With this solution you have to remember to send some emails via 'default' configuration (via port 25), and other emails via this alternate configuration (which listens on 2525).
Probably you should be able to do this in some other way (but it's not an elegant solution). You should run another postfix instance on some other port (ie. 2525) - you can do this by editing master.cf file and adding there proper lines (similar to line starting with 'smtp inet...'). This new instance should use another file for canonical rewrites (you can define it with "-o sender_canonical_maps = hash:/some/other/canonical
With this solution you have to remember to send some emails via 'default' configuration (via port 25), and other emails via this alternate configuration (which listens on 2525).
ASKER
Ok, I got it. Many, many thanks for your help mate!
ASKER
many thanks for your quick response.
So, I created that file, added the sender_canonical_maps line to main.cf, and run the postmap command.
Unfortunately it doesn't seem to work for some reason, because emails get stuck in the queue; if I comment out the sender_canonical_maps in main.cf, then emails get delivered again.
What could it be? Please find attached the content of my main.cf.
Open in new window