6 ms·
Show HN: Send Emails from Your Terminal
One of my favorite developer tool companies in the world is Charm. So I was blown away when they said they were rethinking how email could be sent using the terminal.
Pop is a Text-based User Interface (TUI) that allows you to send emails without having to switch context from your command-line interface.
Here's why I'm obsessed with Pop:
1. You can write an email body with AI
2. You can easily install using Homebrew
3. You can do some really powerful stuff like generating a PDF and sending an invoice via email entirely from the command line
The email sending part is taken care by Resend, another developer-first product, which makes it the perfect integration for this.
As a developer, I live in the terminal. And I would love to hear how other developers feel about this. We would love to hear your ideas, experiences, and feedback.
- jitl 3y agoYou can also send email from your terminal using a traditional mail agent like mutt, which also installs via homebrew, but doesn’t require a proprietary API key to send email. Mutt will happily send email as your Gmail user. Mutt can also read email, so if you really live in the terminal it can do it all. https://www.makeuseof.com/install-configure-mutt-with-gmail-on-linux/ https://www.makeuseof.com/install-configure-mutt-with-gmail-...
- nimbius 3y agoneomutt even has a litany of cool new features like TLS SNI, threading and encrypt-to-self. https://github.com/neomutt/neomutt https://github.com/neomutt/neomutt
- ottavio 3y agowhat's wrong with mutt? ;-)
- amingilani 3y agoWhat is resend and why do I need it to work with this?
- eterps 3y agoThe tool certainly presents an appealing design, however I am unsure of the necessity of its interactive features. It mixes several concerns that I would typically assign to separate applications, such as fzf and $EDITOR.
- hirow 3y ago> The email sending part is taken care by Resend, another developer-first product, which makes it the perfect integration for this. Please add a disclaimer that you're one of the founders of Resend. I had no idea before clicking on your profile.
- brazzledazzle 3y agoI suppose that’s the answer to a few of the questions in this thread.
- olivierduval 3y agoWhat is the problem with the mail command ? Or with some msmtp ? Except that with "standard" mail you only need a provider or self-hosted server, and not a RESEND_KEY To me, it looks like "reinventing the wheel"... Did I miss something ? BTW: content generation (AI, email) is not email sending, so you can still generate content with other tools and send it with a simple "mail" command
- mcmcmc 3y agoNope, this is just advertising for Resend. OP is the founder: https://news.ycombinator.com/item?id=36309120 https://news.ycombinator.com/item?id=36309120
- murat124 3y agotelnet host port ehlo mailback mail from: myemail@somewhere.com rcpt to: whoever@anywhere.com data mail from: "my name" <myemail@somewhere.com> rcpt to: "their name" <whoever@anywhere.com> subject: whatever mail text goes here but don't forget an empty line between subject line and this line (as a separator of header and body) and here and end mail text by a single dot in a single line like this . quit for attachments or other advanced features you can use mutt, pine, or any other mail app. you can also do: cat mail-text.txt | mail -s "subject goes here" whoever@anywhere.com
- brazzledazzle 3y agoShould be noted that telnet only works when you have unauthenticated access to your mail server.
- susam 3y agoI remember performing authentication via telnet session as well: https://susam.net/blog/auth-cram-md5.html https://susam.net/blog/auth-cram-md5.html (2011) Of course, these days, the connection should be wrapped within a TLS session and openssl s_client could be a good alternative to telnet for doing that.
- brazzledazzle 3y agoResend seems like it might be unnecessary and overkill. Why not just send mail through your mail provider directly? Or is this more about sending email campaigns from the CLI?
- pwg 3y agohttps://news.ycombinator.com/item?id=36758907 https://news.ycombinator.com/item?id=36758907
- heinrichhartman 3y agoAs other's have pointed out, sending emails from the command line is a solved problem [1]: sendmail user@example.com < email.txt mail -s "Test Subject" user@example.com < body.txt What keeps me from actually using this, is the lack of Address Book, as I don't memorize email addresses from all my friends and colleagues. Any suggestions on how to integrate my Gmail Address book into a command line workflow? [1] https://stackoverflow.com/questions/57410259/how-to-send-an-email-using-sendmail-command-in-linux https://stackoverflow.com/questions/57410259/how-to-send-an-...
- flir 3y agoAlmost sounds like you need a user completion script that queries your address book. (Implementation left as an exercise for the reader).
- maaslalani 3y agoYou can use the `--to` flag and something like FZF or Gum to populate that from a text file. `pop --to $(fzf contacts.txt)`
- pwg 3y agoProvided you are willing to build the alias [1] mapping list, mutt can use aliases on the CLI to send emails. So if you had aliased "user@example.com" to "bob", you could do: mutt -s "Test Subject" bob < body.txt I do not know of a way to automatically generate a mutt alias file from a gmail address book. [1] Mutt refers to its address book as "aliases".
- neverrroot 3y agoIf the purpose is learning, really cool, am sure you learned plenty. Otherwise, there are already so many CLI mail tools, would really appreciate, if you could tell us, why use this one instead of the established ones. Thanks!
- itslennysfault 3y agoBecause resend, a YC company, wants you to use their API so they created this.
- xnx 3y agoIs at inevitable characteristic of people interested in software to ignore reliable/existing/"boring" tools and reinvent the wheel? I can see the benefit as a learning experience, but a lot of these diy efforts accidentally become popular to the detriment of better tools.
- chaxor 3y agoI typically love things from charm bracelet. They make phenomenally good looking TUIs. For that alone I will try to work with this. However, I do agree that there is a tendency in many of the projects to lean on unnecessary servers by default. For example, to have a local glow experience, you have to edit the config to not send your data (encrypted of course, which is good) to a centralized server. I'm going to contradict myself here, but soft-serve is also phenomenal, but only works with self hosted git, but not gitlab. This is great (as said before, cloud should not be default) but sometimes you want to connect to a well known standard git server like gitlab. Anyway, this looks great, despite the existence of aerc, etc. I think it's a welcome addition, but if the additionally API key can be removed, and if it can work with complicated emails like Oath 2 and Microsoft office webmail, it will likely take off.
- klaas- 3y agoyou can also send mails with curl via cli https://everything.curl.dev/usingcurl/smtp https://everything.curl.dev/usingcurl/smtp
- danielvaughn 3y agoI'd love to see something like oh-my-zsh but for stuff like this, because there are a ton of day-to-day utilities I'd like to use in the terminal, but I don't have time to track them all down and configure them. For instance, I'd love to see a good to-do list. I've tried a couple but they underwhelmed me.
- 38 3y ago> To use pop, you will need a RESEND_API_KEY. NOPE. no thank you. cURL can already do this: https://stackoverflow.com/questions/14722556/using-curl-to-send-email https://stackoverflow.com/questions/14722556/using-curl-to-s...
- 40yearoldman 3y agoWhat old is new again…
- gushie 3y agoI remember using 'elm' for terminal based email back in the 1990s.
- 8__8 3y agoIn the linux and mac console (via brew) there is also swaks - a simple tool for sending e-mails. echo "mail body" | swaks -t mail@to -s server -tls -a LOGIN -au mail_login -ap password --from from@mail --h-Subject subject --body - and mail is send ;-)