271 feature support role based email validation in socketmap user exist check#272
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces socketmap-based identity resolution for LMTP delivery, allowing envelope recipients to be mapped to specific mailbox identities, such as role-based mailboxes. The changes include a new socketmap client, role validation logic against the Thunder IDP, and updates to the database manager to handle explicit mailbox paths. Feedback focuses on several performance and logic issues: the delivery process lacks deduplication when multiple recipients map to the same identity, leading to duplicate emails; the socketmap client inefficiently opens a new connection for every recipient; negative lookup results are not cached, which could lead to performance degradation; and the role validation logic fetches all roles for local filtering instead of using server-side queries.
📌 Description
Now, the socketmap service will check role-based emails in the
user-existscheck. When LMTP transfers the email to the raven, it checks whether that mail is role-based mail or user-defined mail, based on that it saved in relavant database with the correct prefix. ex:user_orrole_🔍 Changes Made
✅ Checklist (Email System)
LOGIN,CAPABILITY,LIST,SELECT,FETCH,LOGOUT).🧪 Testing Instructions
To test the server, use the instructions in the README in the
testdirectory.📷 Screenshots / Logs (if applicable)
Need to create a role in the thunder ui and send an email to that role's email address.