Explore how 'Pop' and 'Resend' streamline CLI email sending and how AI enhances terminal workflows for developers. Your regular intake of dev randomness! [Codeanywhere](%2F%2Fwww.codeanywhere.com%2F%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/TqeV3z4zw4MANNRhgMRNfp57UUQ=353) ISSUE #77 [â¨â¨â¨ Development Bounty: Backstage Dev Container Automation Plugin â¨â¨â¨](%2F%2Fgithub.com%2Fdaytonaio%2Fbackstage-devcontainer-plugin%2F%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/cu1idjPI9xoHYeNg-xYRTKeP6Aw=353) Hey Devs, Hope your code is compiling and your debugs are few! I know we've all been riding the wave of year-end craziness, and I have felt that now it's time to shift gears and dive into something fun. This Thursday, I'm here to share an exciting project for those who like to keep their hands on the keyboard and eyes on the terminal. ð Sending email programmatically is a common need for developers. However, ensuring your messages reach the inbox can be tricky. [Resend](%2F%2Fresend.com%2F%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/EEoTrRCprdcoCgFphSGfF8x0Urw=353) aims to solve this by providing an email delivery API designed for developers. Resend handles the email plumbing behind the scenes so you can focus on building your applications. They offer SDKs for multiple languages, webhooks, and events to build customized workflows. Behind the scenes, Resend utilizes Amazon SES. They offer a user-friendly dashboard, leveraging their email expertise to provide features that simplify email management for users. And here's the cherry on top: [Charm](%2F%2Fcharm.sh%2F%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/2tz1DlN6vBK7d4skNpEmFuyHa0o=353) has been reimagining the command line with tools that are not just functional but also a visual treat. Their CLI app, mods, is like having a little AI genie in your terminal, ready to do your bidding and integrate with other processes. Enter Pop: The CLI Email Sender In today's exercise, we'll play with sending emails through Resend using a command line application from Charm called [pop](%2F%2Fgithub.com%2Fcharmbracelet%2Fpop%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/zQPSzwVWJ1mCtxpZRjoq6xaZKBA=353). Pop facilitates sending emails directly from your terminal and is incredibly simple to use. It has built-in support for Resend, allowing you to use your API keys and send emails effortlessly from the terminal. Although pop also allows SMTP configuration to send emails through your servers, we'll stick with Resend for today's demo. Getting Our Hands Dirty: Setting Up Pop and Resend The first step is to install pop, as I am on macOS, I will use the command brew install pop. But you can do it in any other way you prefer. Once you have pop installed, you must set it up by adding the Resend API key to your environment. For this, we assume you have created a new account and followed the instructions to set it up. Remember, you must configure your DNS records for email sending to work. I use Cloudflare for my domains, as it is just blazingly fast. Just add the necessary TXT and MX records provided by Resend. Once configured, you can access features like click and open tracking. To configure pop to send via Resend, you generate an API key from the Resend dashboard and then integrate it into your setup. To add the Resend API key to your environment, you can do it the easy way export RESEND_API_KEY=YOUR_KEY, or the hard way by initializing a new pass password storage, which is encrypted with GPG. If you aren't using pass already, it may be a good time to start. Although it introduces an additional layer of complexity, this approach significantly increases the security of your workflow by ensuring that your secrets are no longer stored in unencrypted text files. You can achieve this by installing the 'pass' utility on your computer and setting it up with a GPG key. Creating a GPG key is simple using the gpg --full-generate-key command. Once that's done, initialize pass by executing pass init 'YOUR GPG KEY'. After setting up your password storage, you can insert your API keys using pass insert. For example, you'd use the command pass insert RESEND_API_KEY to save the Resend API key. Storing your API key in pass simplifies the process of exporting it as an environment variable. Just use the command export RESEND_API_KEY=$(pass RESEND_API_KEY). After setting it up, you can start pop and send your first email. To streamline the process even further, you can pre-configure your sender email address by using the command export POP_FROM=YOUR@EMAIL.DOMAIN. This sets up the POP_FROM environment variable with your email address, making it easier to manage email sending within pop. To conduct a quick test and get familiar with the functionalities, you can also experiment with mods. Ensure you've installed mods by running brew install charmbracelet/tap/mods. Complete the setup by storing your OpenAI API key in pass and exporting it as an environment variable with the command export OPENAI_API_KEY=$(pass OPENAI_API_KEY). This prepares your system to use mods with OpenAI integration. If you have a local Large Language Model (LLM), you can utilize it for enhanced control and privacy. Tools like Ollama and LM Studio simplify the process of setting up and interacting with a local LLM. Test Drive with a Simple Command Sure! Go ahead and fire off that email command. Tweak it a bit if you like. 𤪠pop -s "Resend x Pop - Test email" -t "niko+pop@codeanywhere.com" -b "$(mods -f "Write an email body about how CLIs improve workflows")" Boom! Check out the Resend dashboard and revel in the glory of sent, delivered, and opened emails. The Takeaway Resend is a practical choice for integrating email functionality into your applications or command line, offering a free tier for basic use. Comprehensive documentation and the ability to create webhooks for real-time email event updates make it a robust solution for email deliverability. Pop and Resend provide a straightforward way to integrate programmatic email capabilities right into your terminal and workflows. Imagine the possibilities:
- Building scheduled email campaigns using cron
- Parsing application logs for errors and reporting via email
- Automating emails for things like user signup confirmations
- Using mods to summarise logs and report them via email
- ... With the power of the command line and a bit of imagination, the possibilities are endless -- the only limit is your creativity! Let me know if you have any other use cases in mind! Terminal cheers,
Niko P.S. For those intrigued by my terminal setup, I'm all in on [Warp](%2F%2Fwww.warp.dev%2F%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/SuZad2TTYw3VcRFlNlpcX9klOmE=353) â the terminal that's not just smart but also understands the language of devs. Check it out for a productivity boost! %2F%2Ftwitter.com%2Fnibalic%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/yG9aplItwblMNXyrDAMB4jwgiOE=353 Niko - Codeanywhere team Your cheerful email friend Around the Web [Containers for Streamlined Development Pipelines](%2F%2Fwww.daytona.io%2Fdotfiles%2Fcontainers-for-streamlined-development-pipelines%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/44rL-_Vsnh9UNYwRHSOAno3ZE4k=353) Integrate dev container configurations into your development pipelines to align local environments with deployment stages seamlessly. [Huh, a simple, interactive terminal forms](%2F%2Fgithub.com%2Fcharmbracelet%2Fhuh%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/Roy8U-OqNDXPdPTZyUkAF6q_YEc=353) Check out the latest version of huh from Charm. Library for building interactive forms and prompts in the terminal, new version released yesterday. [Amazon CodeWhisperer for Command Line](%2F%2Faws.amazon.com%2Fblogs%2Fdevops%2Fintroducing-amazon-codewhisperer-for-command-line%2F%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/tLYWprMCF_O6dgp3j1jNPXSrnxo=353) Explore the new command line capabilities of Amazon CodeWhisperer, designed to enhance developer productivity with AI-powered tools. [Harnessing AI through Standardization and Isolation](%2F%2Fwww.daytona.io%2Fdotfiles%2Fharnessing-ai-through-standardization-and-isolation%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/KUQu94fvmNUUniLrXBkSRi0ivrg=353) Discover how standardization and isolation can save developers from the hassle of dealing with configurations and compatibility issues. [Phi-2: Microsoft's New Transformer Model](%2F%2Fhuggingface.co%2Fmicrosoft%2Fphi-2%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/2YRWdc8ptC0cfykHFDOji-5Fu34=353) Microsoft's Phi-2, a 2.7 billion parameter Transformer, excels in benchmarks for common sense, language understanding, and logical reasoning. This email was sent to [{EMAIL}](mailto:{EMAIL}?utm_medium=email&utm_source=newsletter&utm_campaign=HT) because you are subscribed to our newsletter.
If you do not wish to receive such emails in the future, please [UNSUBSCRIBE HERE](. ð¿ Unsubscribed Accidentally? [Re-subscribe](%2F%2Fblog.codeanywhere.com%2Fresubscribe%2F%3Futm_medium=email%26utm_source=newsletter%26utm_campaign=HT/1/0101018c68c3a70c-e3d8297a-6db9-44e1-94f8-97a28be89d42-000000/uzjYxb-uRI1VG0gW-abvWpXUMbA=353) No hard feelings. [Un-subscribe]( We understand: fingers slip, buttons misbehave, and cat videos are all too captivating. Copyright © 2023 Codeanywhere. All rights reserved.
2443 Fillmore St #380-7365, San Francisco, CA 94115, USA
All rights reserved.