Matrix To MMS-Over-Email Bridge

I made a friend online while locked-down during COVID who I want to continue communicating with. The problem, though, is that I do not use social media, and chat apps do not work for me no matter how hard I try. So after about a month of back-and-forth discussing possible solutions, we’ve thought of something that we think will work well for both of us: I’m going to run a Matrix to MMS-over-email bridge on my server.

This series will document the process of getting this to work, both because that’s interesting and because it will help me stay on schedule. What follows is a description of how it’s going to work and more detailed posts about it as I go along.

Overview

Sending

  1. I send a text to the correct contact.
  2. My phone provider’s email gateway converts that to an email.
  3. I receive the message on a different server (~team) because my server (smirkingface) cannot receive mail.
  4. ~team checks the sender address to make sure it’s me, then converts it to a Matrix message.
  5. Then, acting as a Matrix client, ~team sends the message to my friend (Tesk).

Receiving

  1. Tesk sends a message to me on Matix.
  2. smirkingface, acting as a second Matrix client, reads the message and converts it to a multipart/MIME email message.
  3. smirkingface sends the message via Postfix to my phone provider’s email gateway.
  4. The Matrix message appears as a text on my flip phone a few minutes later.

Details

That whole thing really breaks down to two parts: getting MMS working over email, and getting Matrix working over email. Here are those parts in more detail:

  1. MMS over email
  2. Matrix over email (coming soon)