Resend — Operations Workbook
Transactional email sending for the Ecotrans ecosystem via resend.com. Managed under account radieu@gmail.com.
Architecture
info@radekkonarski.com (sender address)
│
├── Inbound → Cloudflare Email Routing → forwarded to radieu@gmail.com
└── Outbound → Resend SMTP relay (smtp.resend.com:465)
└── authenticated via API key (RESEND_API_KEY)
└── signed with DKIM resend._domainkey.radekkonarski.com
└── SPF: amazonses.com included in radekkonarski.com SPFGmail radieu@gmail.com is configured with Send mail as info@radekkonarski.com pointing at the Resend SMTP relay — allowing manual email sending from the Gmail UI without a separate mailbox.
Service Details
| Field | Value |
|---|---|
| Provider | resend.com |
| Account | radieu@gmail.com (UI login) |
| Plan | Free — 3 000 emails/month, 100/day |
| Domain | radekkonarski.com (verified 2026-06-18) |
| Domain ID | 3f4c9157-6c49-4ec0-89c6-2549dedb3793 |
| Region | eu-west-1 (AWS SES EU) |
| Sender address | info@radekkonarski.com |
SMTP Credentials
| Field | Value |
|---|---|
| Host | smtp.resend.com |
| Port | 465 (SSL) |
| Username | resend (literal — same for all accounts) |
| Password | RESEND_API_KEY (API key value) |
| From | info@radekkonarski.com |
| From name | Radek Konarski |
SMTP password == API key. No separate SMTP password exists.
API Key Management
| Variable name | Stored in | Managed via |
|---|---|---|
RESEND_API_KEY | radekkonarski-personal-brand/.env.local | Resend dashboard → API Keys |
RADEK_BRAND_RESEND_API_KEY | p24-infra/.env.local | Resend dashboard → API Keys |
| Both | SOPS secrets/radekkonarski-brand.env.sops | sops -d secrets/radekkonarski-brand.env.sops |
API key rotation: generate new key in Resend dashboard → update secrets/radekkonarski-brand.env.sops → update both .env.local files → revoke old key.
DNS Records (radekkonarski.com, Cloudflare zone 7d2cd27bc46075f693771646cc54b0f8)
All added 2026-06-18 via Cloudflare API:
| Type | Name | Value | Purpose |
|---|---|---|---|
| TXT | resend._domainkey | p=MIGfMA0GCS… | DKIM signing key |
| MX | send | feedback-smtp.eu-west-1.amazonses.com (priority 10) | Bounce/feedback handling |
| TXT | send | v=spf1 include:amazonses.com ~all | SPF for send subdomain |
| TXT | @ (root) | v=spf1 include:_spf.mx.cloudflare.net include:_spf.google.com include:amazonses.com ~all | Root domain SPF (updated) |
Gmail “Send mail as” Setup
radieu@gmail.com is configured to send as info@radekkonarski.com via Resend SMTP:
- Gmail Settings → Accounts and Import → Send mail as
- SMTP server:
smtp.resend.com, port465 - Username:
resend - Password: Resend API key
- TLS/SSL: SSL
Verification email is delivered to info@radekkonarski.com → forwarded by Cloudflare Email Routing → arrives in Gmail inbox.
Health Check
# Verify domain status via Resend API
$headers = @{ Authorization = "Bearer $env:RESEND_API_KEY" }
Invoke-RestMethod -Uri "https://api.resend.com/domains/3f4c9157-6c49-4ec0-89c6-2549dedb3793" -Headers $headers |
Select-Object -ExpandProperty status
# expected: "verified"# Re-trigger DNS verification if needed
Invoke-RestMethod -Uri "https://api.resend.com/domains/3f4c9157-6c49-4ec0-89c6-2549dedb3793/verify" `
-Headers $headers -Method PostSending a Test Email
$headers = @{ Authorization = "Bearer $env:RESEND_API_KEY"; "Content-Type" = "application/json" }
$body = @{
from = "Radek Konarski <info@radekkonarski.com>"
to = @("radieu@gmail.com")
subject = "Resend test"
html = "<p>Test from Resend SMTP — radekkonarski.com</p>"
} | ConvertTo-Json
Invoke-RestMethod -Uri "https://api.resend.com/emails" -Headers $headers -Method Post -Body $bodyFree Tier Limits & Upgrade Path
| Metric | Free limit | Action at limit |
|---|---|---|
| Monthly sends | 3 000 | Upgrade to Pro ($20/mo) or reduce send volume |
| Daily sends | 100 | Batch or spread sends across days |
| Custom domains | 1 | Sufficient for current usage |
| API keys | Unlimited | — |
Monitor monthly usage at resend.com/overview.