# Do I need… > Blunt answers to the email questions everyone asks. YES, NO, or IT DEPENDS—with the reasoning to back it up. doineed.email is written and maintained by the team at [Resend](https://resend.com), the email platform for developers. The people behind these answers run email sending infrastructure at scale and carry decades of combined deliverability experience—the verdicts here are the same ones we give when someone asks us directly. Every answer is available three ways: as a web page (`https://doineedemail.vercel.app/{slug}`), as raw markdown (`https://doineedemail.vercel.app/{slug}.md`), and as JSON (`https://doineedemail.vercel.app/api/concepts.json` for everything, `https://doineedemail.vercel.app/api/random` for one at random). ## Answers - [Do I need 2048-bit DKIM?—NO (1024 is fine)](https://doineedemail.vercel.app/2048-bit-dkim.md): Bigger keys sound safer, but 1024-bit DKIM is RFC-compliant, accepted by every major mailbox provider, and satisfies every bulk-sender requirement. 2048 buys you DNS headaches, not deliverability. - [Do I need accessible emails?—YES](https://doineedemail.vercel.app/accessible-emails.md): Of 376,348 emails analyzed in 2026, eight passed every accessibility check. The fixes are small and mechanical—and they serve screen readers, dark mode, bright sunlight, and the agents now reading mail on humans' behalf. - [Do I need BIMI?—NO (nice to have)](https://doineedemail.vercel.app/bimi.md): BIMI puts your logo next to your emails, which is lovely branding—and does nothing for deliverability. It also quietly requires the thing that does matter: an enforcing DMARC policy. - [Do I need a custom return path?—YES (the default is fine)](https://doineedemail.vercel.app/custom-return-path.md): Your ESP already sets a working, aligned Return-Path on a subdomain it manages—deliverability-wise you're covered. Customize it when branding or a picky security review demands it. - [Do I need a custom tracking domain?—YES (if tracking is on)](https://doineedemail.vercel.app/custom-tracking-domain.md): Tracking links default to a domain you share with strangers—and their reputation becomes yours. If you track opens or clicks, the redirect domain should be one you own. - [Do I need a dedicated IP?—IT DEPENDS (most likely no)](https://doineedemail.vercel.app/dedicated-ip.md): If you have to ask, you probably don't. Dedicated IPs pay off for senders with high, steady volume and deliverability expertise—everyone else inherits a cold IP and a warming project. - [Do I need DKIM?—YES](https://doineedemail.vercel.app/dkim.md): DKIM is your cryptographic signature—proof the message came from you and wasn't altered in transit. Every major provider expects it, and DMARC is hollow without it. - [Do I need DMARC?—YES (at least p=none)](https://doineedemail.vercel.app/dmarc.md): Every serious mailbox provider now expects a DMARC policy on your domain. Publishing p=none costs nothing, breaks nothing, and shows you exactly who is sending as you. - [Do I need p=reject?—IT DEPENDS (earn it first)](https://doineedemail.vercel.app/dmarc-p-reject.md): Reject is where DMARC actually protects your domain—but publish it before every legitimate sender passes and aligns, and you'll block your own mail. Monitor, fix, then enforce. - [Do I need to read my DMARC reports?—IDEALLY (rua, at minimum)](https://doineedemail.vercel.app/dmarc-reports.md): Publishing DMARC without reading the reports is buying a smoke alarm and never checking the battery. The aggregate reports are where misconfigured senders and spoofers show up first. - [Do I need to warm up my domain?—YES](https://doineedemail.vercel.app/domain-warmup.md): A brand-new domain has no reputation, and inbox providers distrust strangers who shout. Ramp volume gradually—and re-warm whenever your provider, IP, or volume changes significantly. - [Do I need double opt-in?—IDEALLY](https://doineedemail.vercel.app/double-opt-in.md): Nothing proves consent like a click in a confirmation email. It's not legally required everywhere, but it keeps bots, typos, and grudges off your list—most lists are better with it. - [Do I need email verification?—IDEALLY (at the edges)](https://doineedemail.vercel.app/email-verification.md): Verify at the boundaries: a check at signup keeps typos and bots out, and a cleaning pass before mailing an old list saves your bounce rate. A pristine double-opt-in list needs neither. - [Do I need Gmail Postmaster Tools?—YES (if you send bulk to Gmail)](https://doineedemail.vercel.app/gmail-postmaster-tools.md): It's free, it's first-party, and it's the only way to see your domain reputation the way Gmail sees it. If Gmail matters to your list, sign up before you need it. - [Do I need idempotency keys?—IDEALLY (if your code retries)](https://doineedemail.vercel.app/idempotency-keys.md): Networks fail mid-request and retries are how you cope—but a retried send without an idempotency key is how a customer gets three copies of one receipt. One header makes retries safe. - [Do I need my own mail server?—NO (please, no)](https://doineedemail.vercel.app/my-own-mail-server.md): Running Postfix in production means owning IP reputation, blocklists, TLS, key rotation, feedback loops, and 3 a.m. deliverability archaeology—to rebuild a commodity. Keep SMTP, drop the server. - [Do I need one-click unsubscribe?—YES (if you send bulk)](https://doineedemail.vercel.app/one-click-unsubscribe.md): Send 5,000+ emails a day to Gmail or Yahoo and RFC 8058 one-click unsubscribe headers are mandatory, not optional. Below that, they're still the cheapest complaint-rate insurance available. - [Do I need open tracking?—IT DEPENDS (not for transactional)](https://doineedemail.vercel.app/open-tracking.md): The pixel lies: privacy proxies fire false opens, image blocking hides real ones, and inbox providers read trackers as a promotional smell. Fine for marketing trends, off for transactional. - [Do I need a plain-text version?—IDEALLY (cheap insurance)](https://doineedemail.vercel.app/plain-text-version.md): HTML-only mail usually lands fine—but the multipart text version costs nothing and quietly serves watches, screen readers, strict clients, and cautious filters. Cheapest robustness win in email. - [Do I need a preference center?—IDEALLY (topics beat goodbyes)](https://doineedemail.vercel.app/preference-center.md): A lone unsubscribe link is all-or-nothing: one unwanted promo and you lose the reader entirely—or worse, they hit the spam button. Topic-level preferences turn goodbyes into downgrades. - [Do I need a subdomain for sending?—YES](https://doineedemail.vercel.app/sending-subdomain.md): Send from notifications.acme.com, not acme.com. Subdomains isolate reputation damage and tell inbox providers what each mail stream is for—while your root domain stays clean. - [Do I need to avoid "spam trigger words"?—NO (mostly a myth)](https://doineedemail.vercel.app/spam-trigger-words.md): No secret list of forbidden words decides your fate. Modern filters weigh reputation, authentication, and engagement—"FREE!!!" in a subject line is a style crime, not a spam sentence. - [Do I need SPF?—YES](https://doineedemail.vercel.app/spf.md): SPF is table stakes. It's a single DNS record telling mailbox providers which servers may send for your domain—and every major provider expects to find it. - [Do I need to buy an email list?—NO (never)](https://doineedemail.vercel.app/to-buy-an-email-list.md): Bought lists are consent-free by definition—spam traps, stale addresses, and people who've never heard of you. There is no faster way to torch a domain reputation. - [Do I need an unsubscribe link?—YES (for anything promotional)](https://doineedemail.vercel.app/unsubscribe-link.md): Marketing and nurture email must carry a visible way out—law and inbox providers agree. Transactional mail is exempt, but hiding the exit is how you earn spam complaints. - [Do I need a warmup service?—NO](https://doineedemail.vercel.app/warmup-service.md): Warmup is real; warmup services aren't. Synthetic opens and scripted replies are detectable, meaningless to inbox providers, and can actively damage the reputation they claim to build. ## API - [Random answer (JSON)](https://doineedemail.vercel.app/api/random): one concept at random, fresh on every request - [All answers (JSON)](https://doineedemail.vercel.app/api/concepts.json): every concept, structured ## Optional - [llms-full.txt](https://doineedemail.vercel.app/llms-full.txt): every longform answer concatenated into one file - [Agent guide](https://doineedemail.vercel.app/agent.md): how agents should use and cite this site