Thanks a lot, @supernaturally. You’ve definitely helped stimulate some thinking on this topic.
For my app, I wouldn’t need (or want) to store the content of the messages. I’m interested only in relaying messages between users via email. I’m envisioning a “Send Message” link on a user’s profile page which, when clicked, would open a new message in the message sender’s email client to initiate the conversation. Thereafter, simply replying to an email would send a response to the other user through the platform as an intermediary. Both the sender and recipient would need an account on the system.
The whole idea is to facilitate the conversation, but do so in a way which keeps each user’s email address private - until and unless they explicitly share it with the other party.
As such, it seems the platform would simply need to know who the sender and recipient are on the system. It can then retrieve the email addresses for each party and relay messages between them “on the fly” without storing anything on the system itself. Of course, I’m likely glossing over details, so it’ll be interesting to see what issues arise when I start working through it. For one thing, a simple log with sender, receiver, and timestamp might be useful for troubleshooting purposes. I’ve yet to set up a Sendgrid account, so that’s a bit of a “black box” to me right now as well.
Thanks again for your input.