DEV Community

Sahil Chhabra
Sahil Chhabra

Posted on

How to Send Your First Resend Email Without a Verified Domain (Node.js Edition)

Introduction

Resend Documentation says that you will need to verify the domain before sending the email. However, in this blog, you will learn how to send your first email within 5 mins without verifying any domain

Prerequisites

Node.js, a free Resend account and 5 minutes of your time. That's it — no domain required.

Step 1 : Get your API Key

  • Go to resend.com
  • Then sign in using Google or GitHub account
  • Once you're logged in, look for API Keys in the left sidebar of your dashboard.

  • Once Clicked on API Keys generate the API key and save it on the notepad

(Disclaimer never share your API Key with anyone or commit it to a public repo)

Step 2: Set up your project

If starting a new project:

  • Create a new folder and navigate into it, then run npm init -y to set it up.
  • Then follow the same steps below.

If working on existing project:

  • Open your terminal and navigate to your project directory.
  • Run:
    npm install resend dotenv

  • Once installed create a file named .env in your main project directory and save your API Key in it like this:
    RESEND_API_KEY=re_xxxxxxxxxxxxxx

  • After saving your API Key, create a new file called test.js (or use your existing server.js) and paste in this code:

const { Resend } = require("resend");
require("dotenv").config();
const resend = new Resend(process.env.RESEND_API_KEY);

async function testEmail() {
  try {
    const { data, error } = await resend.emails.send({
      from: "onboarding@resend.dev",
      to: "your-test_email@gmail.com",
      subject: "Resend Test",
      html: "<h1>Resend is working!</h1><p>This is a test email.</p>",
    });

    if (error) {
      console.error("❌ Resend Error:", error);
      return;
    }

    console.log("✅ Email sent successfully!");
    console.log("Email ID:", data.id);
  } catch (err) {
    console.error("❌ Server Error:", err);
  }
}

testEmail();
Enter fullscreen mode Exit fullscreen mode

Notice the from address is onboarding@resend.dev — this is Resend's built-in test sender, which is why you don't need your own verified domain yet.

Step 3: Run the code and check the result

In your terminal, run:

node test.js

If everything is set up correctly, you'll see something like this in your terminal:

✅ Email sent successfully!
Email ID: 49a3999c-...

Resend also gives you an id for every email you send. You can use this ID later to check delivery status if you're building something more advanced, like a webhook or event tracker.

Now check the inbox of the email address you used in the to field — you should see your test email arrive within a few seconds, with the subject "Resend Test."

A quick note on what's happening behind the scenes: since you're using onboarding@resend.dev as the sender, Resend routes the email through its own shared test domain. This is perfect for development, but for a real product, you'd eventually verify your own domain so emails are sent from your brand's address instead — which is a topic for another post.

A few things that could go wrong

  • "Missing API key" error — Double check your .env file is saved in the same directory as your test.js file, and that you spelled RESEND_API_KEY correctly.
  • Email not arriving — Check your spam folder first. If it's still missing, log into your Resend dashboard and check the "Emails" tab — it shows the delivery status of every email you've sent.
  • Cannot find module 'resend' error — This usually means the install didn't finish. Run npm install resend dotenv again inside your project folder.

Wrapping up

And that's it — you just sent your first email with Resend, without touching domain verification at all.

The onboarding@resend.dev address is great for development and testing, but keep in mind it's not meant for production use. Once you're ready to send real emails to your users under your own brand, check out Resend's guide on verifying a domain.

If you found this useful, let me know in the comments — and feel free to share what you're building with Resend!

Top comments (0)