Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chatmail: Require encrypted mail #280

Open
5 tasks
s0ph0s-dog opened this issue Feb 6, 2025 · 0 comments
Open
5 tasks

Chatmail: Require encrypted mail #280

s0ph0s-dog opened this issue Feb 6, 2025 · 0 comments

Comments

@s0ph0s-dog
Copy link
Contributor

This is part of a series of issues tracking chatmail support in Mox.

In order to prevent chatmail servers from being used as spam sources, they must only permit outgoing emails that are either PGP encrypted, or are Autocrypt setup messages. This functionality should be tied to the big "chatmail mode" configuration switch, since it doesn't make sense to enable or disable it separately. In addition, the upstream project is considering disallowing incoming unencrypted messages to discourage sending spam to chatmail addresses. At least for now, this should be a separate option.

I've already written an implementation of the PGP detector in https://github.com/s0ph0s-dog/gochatmail/blob/main/cmd/chatmaild/chatmail_milter.go, so this one should be relatively quick.

  • Add top-level configuration options for chatmail mode and incoming-encrypted-only in domains.conf
  • Add per-account configuration option for chatmail mode and incoming-encrypted-only in Account type in domains.conf
  • Transplant the PGP filtering code from my repo into Mox
  • Transplant the tests for the PGP filtering code from my repo into Mox
  • Enforce PGP encryption based on configuration options somewhere in the last ~1600 lines of smtpserver/server.go (I haven't read enough of it to be sure where yet)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant