Comments (9)
Currently, the exclusion mechanism works with domain names only. I haven't tested this, but you could try and add a file-based lookup table to the canonical_maps like
sender_canonical_maps = dbm:/etc/postfix/no-srs, tcp:127.0.0.1:10001
and put a no-op rewrite for all excluded addresses in there:
Let me know if that works.
from postsrsd.
I was thinking about that a while ago as well. When external mails (with arbitrary sender address) are delivered to a local mailbox, the envelope-sender will still be rewritten by postsrsd in the proposed setup. Somehow postsrsd would have to know when to rewrite the envelope sender based on the envelope recipient (i.e. something like recipient_dependent_sender_canonical_maps, which obviously does not exist in postfix).
from postsrsd.
I have tried your suggestion above of canonical_maps. Unfortunately it does not seem to work. Emails delivered to local address still got rewritten.
from postsrsd.
Did you resolve it?
from postsrsd.
Unfortunately no.
from postsrsd.
So there is no way to disable SRS for a local virtual mailbox?
from postsrsd.
There is, but you have to have two set up two postfix instances (which isn't too hard). A receiving instance, that only decodes SRS, listens on the public ip and devlivers to mailboxes i.e. via delivery agents or lmtp and a sending one, that is set up as usual, but only listens on loopback. For the receiving one, you have to set the default smtp transport to the sending one.
from postsrsd.
I was also thinking about something like this, but how do you encode SRS in your setup?
Example 1: Mail from gmail to my server on a virtual alias map to forward the mail to yahoo
In this case SRS needs to ne applied to the mail so yahoo has a SRS return path.
Example 2: Mail from gamil to my server on a virtual mailbox. Here I do not need any SRS on the return path.
However, both cases also need to handle incoming mail already having SRS encoded addresses and in both cases bounces need to be handled correctly.
from postsrsd.
Example 1: gmail --> postfix-in --> postfix-out (+SRS encode) --> yahoo
Example 2: gmail --> postfix-in --> dovecot
Bounce should work as expected, since both instances are able to decode SRS. postfix-in will decode multi-hop bounces and postfix-out will decode single-hop bounces. Just tested a single-hop bounce, works as expected.
from postsrsd.
Related Issues (20)
- multiple domains must be separated by comma
- `make -j` fails with `undefined reference to symbol '__pthread_unregister_cancel@@GLIBC_2.3.3'` HOT 3
- cmake hangs HOT 8
- build: improve default systemd unitdir HOT 1
- drop_privileges does not drop enough
- Installation error. HOT 2
- Not created milter socket file. HOT 2
- Endless loop HOT 2
- Socketmap Permission denied / Postfix chroot problem? HOT 13
- 2.x supports CLI args but dropped `-h` HOT 1
- Using Github Actions to distribute releases HOT 5
- Looking for new Debian maintainer
- Segfault when using redis through a unix socket
- /usr/sbin/postsrsd: unrecognized option: f HOT 4
- Quieter Logging
- invalid socketmap query, closing connection HOT 3
- milter socket creation is after privileges are dropped HOT 3
- milter null pointer dereference with IPv6 SMTP clients HOT 1
- cannot chdir to home directory of user nobody: No such file or directory HOT 4
- milter doesn't work with IPv6 SMTP clients
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from postsrsd.