Blog

Getting email delivered

How to set up DNS, why mail lands in spam, and how to pick a provider. All problems we ran into while building BulkMail.

TutorialNode.js

Sending Email from Node.js and Python: SMTP or API

Two ways to send email from Node.js and Python: connect to SMTP directly with nodemailer / smtplib, or call an email API. Full code and retry advice included.

2 min
ComparisonSendGrid

SendGrid, Mailgun, Amazon SES or Resend: How to Choose

Comparing SendGrid, Mailgun, Amazon SES, Resend and BulkMail on pricing model, ease of setup, deliverability and payment options.

2 min
ComparisonResend

A Resend Alternative: Choosing Between BulkMail and Resend

Resend and BulkMail are both email APIs for developers. We compare language support, payment options and IP isolation, then cover what to change when moving over from Resend.

2 min
Transactional emailBest practices

Why Transactional and Marketing Email Should Be Sent Separately

How transactional email like verification codes and notifications differs from marketing email like promotions and newsletters in law and deliverability, and why they should use different domains and IPs.

2 min
IP reputationDeliverability

Warming Up a New IP: The First Four Weeks

Why a new sending IP needs warming up, how much to send each day, which metrics to watch, plus a four-week plan you can follow as is.

2 min
DeliverabilitySpam

Emails Going to Spam? Check These in Order

Verification codes or notifications landing in spam? Work through authentication, IP reputation, content and sending habits in order, with a concrete check for each step.

2 min
AuthenticationDNS

SPF, DKIM and DMARC: A Setup Guide

What SPF, DKIM and DMARC each do, how to write the DNS records, how to check they're working, and the most common setup mistakes.

3 min