DEV Community

Cover image for Deno - Send Email Using SMTP
Vuelancer
Vuelancer

Posted on • Edited on

9 1 1 1 1

Deno - Send Email Using SMTP

I have created a tutorial for sending emails from your deno project using third party module called smtp.

Introduction

  • You can send email from your deno application.
  • Where we use this thing?
    • Sending verification email to the user after his registration on our project.
    • Sending emails like monthly newsletter, blogs, etc.

Getting Started

import { SmtpClient } from "https://deno.land/x/smtp/mod.ts";
import "https://deno.land/x/dotenv/load.ts";
Enter fullscreen mode Exit fullscreen mode
  • Creating an instance of SmtpClient
const client = new SmtpClient();
Enter fullscreen mode Exit fullscreen mode
  • Accessing environmental variables
const { SEND_EMAIL, PWD, RECV_EMAIL } = Deno.env.toObject();
Enter fullscreen mode Exit fullscreen mode
  • Configuring & Creating the connection
const connectConfig: any = {
  hostname: "smtp.gmail.com",
  port: 465,
  username: SEND_EMAIL,
  password: PWD,
};
await client.connectTLS(connectConfig);
Enter fullscreen mode Exit fullscreen mode
  • Sending the e-mail to the rec. account
await client.send({
  from: SEND_EMAIL,
  to: RECV_EMAIL,
  subject: "Welcome!",
  content: "Hi from Vuelancer!",
});
Enter fullscreen mode Exit fullscreen mode
  • Finally, closing the smtp client connection
await client.close();
Enter fullscreen mode Exit fullscreen mode

Run the app

$ deno run --allow-read --allow-env --allow-net server.ts
Enter fullscreen mode Exit fullscreen mode

Or else clone this repo and sculpt it!

  • you can find the entire code on my github account

    GitHub logo Vuelancer / deno-email-smtp

    Sending emails using smtp module in deno

    Sending Emails using SMTP in Deno


    Steps:

    • Clone the repository.
    • create .env file.
    • Add SEND_EMAIL,PWD,RECV_EMAIL values to it.
    • Visit your https://myaccount.google.com if you're using gmail.
    • In Security section, switch on the less secure access

    Run the application using the follg. command

    $ deno run --allow-read --allow-env --allow-net server.js
    Enter fullscreen mode Exit fullscreen mode

    • I have uploaded a tutorial for this project in my youtube channel Vuelancer

    https://youtu.be/_1tpxFcpCBI





~ Thank You!

Support Me

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up