chris104957 / maildown

A super simple CLI for sending emails
https://www.maildown.app/
MIT License
581 stars 28 forks source link

Add support for other email providers #7

Open chris104957 opened 5 years ago

chris104957 commented 5 years ago

Is your feature request related to a problem? Please describe. AWS has a lengthy sign up process and requires you to enter billing details even if you have no intention of exceeding the free limits, and submit a support request to take your account out of the sandbox before you can start sending messages.

Describe the solution you'd like Implement support for other email backends with lower barriers to entry, e.g. Mailchip, SendGrid, etc.

Additional context This ticket is mentioned in the product roadmap

kontsevoy commented 5 years ago

I would simply add SMTP support. Email sending never needed an "API", every email provider supports SMTP with TLS [Mailgun, Sendgrid, etc]. Every UNIX machine already has sendmail CLI command which is usually implemented as an alias to the underlying SMTP sender, usually exim or postfix, to send mail.

Another nice benefit is that many existing Linux tools (cron) already support sendmail, i.e. you'll be giving markdown superpowers to numerous existing utilities.

chris104957 commented 5 years ago

This is probably quite easy to achieve with smtplib. Leave it with me, will get on the case as soon as I find some time

kontsevoy commented 5 years ago

Chris, there are two quite different options IMO:

chris104957 commented 5 years ago

I can see a use case for both, and may therefore implement both, starting with sendmail (which will simply be called via subprocess). The difficulty here is refactoring maildown.utilities to support switching of backends, but once that's done the rest should be super easy

chris104957 commented 5 years ago

Also, once I've done that refactoring, it becomes way easier for people to contribute their own handlers to this project