When a user sends a message in reply to opportunity we will send it by email as coming from hashids.encode(user_id)-hashids.encode(opportunity_id)@user.wechip.in . Then we monitor this mailbox with http://mailin.io/ and when a new email arrives we insert a Message instance with ToUser the user's ID and link to the opportunity. This way the user can read the reply from the organization. They can potentially reply to it, in which case we send it by email once again.
When a user sends a message in reply to opportunity we will send it by email as coming from hashids.encode(user_id)-hashids.encode(opportunity_id)@user.wechip.in . Then we monitor this mailbox with http://mailin.io/ and when a new email arrives we insert a Message instance with ToUser the user's ID and link to the opportunity. This way the user can read the reply from the organization. They can potentially reply to it, in which case we send it by email once again.