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 -yto 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 dotenvOnce installed create a file named
.envin your main project directory and save your API Key in it like this:
RESEND_API_KEY=re_xxxxxxxxxxxxxxAfter saving your API Key, create a new file called
test.js(or use your existingserver.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();
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
.envfile is saved in the same directory as yourtest.jsfile, and that you spelledRESEND_API_KEYcorrectly. - 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. Runnpm install resend dotenvagain 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)