[{"data":1,"prerenderedAt":347},["ShallowReactive",2],{"\u002Fblog\u002Fcloudflare-email-routing-reply":3,"\u002Fblog\u002Fcloudflare-email-routing-reply-surround":341},{"id":4,"title":5,"authors":6,"badge":11,"body":13,"date":330,"description":331,"extension":332,"image":333,"meta":335,"navigation":336,"path":337,"seo":338,"stem":339,"__hash__":340},"posts\u002Fblog\u002Fcloudflare-email-routing-reply.md","How to Reply to Email with Cloudflare Email Routing",[7],{"name":8,"avatar":9},"Mailyond Team",{"src":10},"\u002Fimages\u002Flogo.png",{"label":12},"Guide",{"type":14,"value":15,"toc":320},"minimark",[16,25,28,33,36,47,50,54,57,63,66,69,74,77,80,84,87,115,118,122,238,241,252,259,263,270,273,294,301,313,317],[17,18,19,20,24],"p",{},"You set up Cloudflare Email Routing in five minutes, pointed your MX records, and mail to ",[21,22,23],"code",{},"you@yourdomain.com"," started landing in Gmail. Then a customer replied, you hit reply, and the message went out from your personal Gmail address instead of your domain. So the obvious question: how do you actually reply to email with Cloudflare Email Routing?",[17,26,27],{},"Short answer: not from Email Routing. Cloudflare did add outbound sending in 2025, but it's a separate, API-only product with no inbox and no reply button, and it only covers domains hosted on Cloudflare. So if you just want to read a customer's email and reply from your domain, you still can't. It's worth understanding why before you reach for a workaround that quietly breaks.",[29,30,32],"h2",{"id":31},"cloudflare-email-routing-is-receive-only-by-design","Cloudflare Email Routing is receive-only by design",[17,34,35],{},"Cloudflare Email Routing forwards mail. That's the whole feature. It takes a message sent to your domain and drops it into another mailbox you already own. It does not send mail, and there is no \"reply\" button anywhere in it. People have asked for \"allow replies\" in it since 2022, and that hasn't changed.",[17,37,38,39,46],{},"Cloudflare did finally ship outbound sending, but as a separate product: ",[40,41,45],"a",{"href":42,"rel":43},"https:\u002F\u002Fdevelopers.cloudflare.com\u002Femail-service\u002F",[44],"nofollow","Cloudflare Email Service"," added an Email Sending feature in 2025 (still in beta at the time of writing). Before you get excited, read the fine print. It sends programmatically only, through a REST API or Workers bindings. There is no inbox and no reply button. And it only works for domains hosted on Cloudflare. It's built for an app firing off transactional email, not for a person reading a customer message and clicking reply.",[17,48,49],{},"So between the two products, Cloudflare can now receive your mail and let your code send mail. What it still doesn't give you is a place to read an email and reply to it from your domain. That part is your problem to solve.",[29,51,53],{"id":52},"the-workarounds-and-why-each-one-bites-back","The workarounds, and why each one bites back",[17,55,56],{},"Everyone lands on the same two hacks. Both look fine on day one.",[17,58,59],{},[60,61,62],"strong",{},"Workaround 1: Gmail \"Send mail as\" + SMTP",[17,64,65],{},"You add your domain address to Gmail under Settings, point it at an SMTP server, and now you can pick your domain as the \"from\" when you reply.",[17,67,68],{},"This used to just work because nobody checked the authentication. That era is over. Through 2024 and 2025, Gmail, Yahoo, and Microsoft tightened the rules. If your \"from\" domain doesn't pass SPF, DKIM, and DMARC, your reply gets filtered to spam or bounced outright. Cloudflare forwarding doesn't sign your outbound mail, so the Send-As path is now the reason your customer never saw your answer. You think you replied. They think you ignored them.",[17,70,71],{},[60,72,73],{},"Workaround 2: Add a real sending service (Resend, Postmark, SES)",[17,75,76],{},"So you bolt a transactional email service onto the same domain to handle sending. Reasonable. Except sending services want their own DNS, and the moment you try to run a sender plus Cloudflare Email Routing on the same domain, you hit the MX conflict: receiving wants Cloudflare's MX records, the sender wants its own setup, and they fight. People burn an afternoon on this and post about it in the Cloudflare forums regularly.",[17,78,79],{},"Even when you get it working, you now run two stacks. Cloudflare for receiving. Another tool for sending. A reply isn't one action anymore, it's a coordination problem. And you still don't have a single place to read and answer mail across your domains.",[29,81,83],{"id":82},"what-you-actually-need","What you actually need",[17,85,86],{},"Strip away the workarounds and the requirement is simple:",[88,89,90,97,103,109],"ul",{},[91,92,93,96],"li",{},[60,94,95],{},"Receive"," mail on your domain (Cloudflare does this fine).",[91,98,99,102],{},[60,100,101],{},"Reply"," from that same domain, properly authenticated so it lands in the inbox.",[91,104,105,108],{},[60,106,107],{},"One place to read and answer",", ideally across every domain you own.",[91,110,111,114],{},[60,112,113],{},"Send from your app too"," if you ship transactional email like password resets.",[17,116,117],{},"Cloudflare covers the first item. The other three are the gap.",[29,119,121],{"id":120},"the-realistic-options","The realistic options",[123,124,125,147],"table",{},[126,127,128],"thead",{},[129,130,131,135,138,141,144],"tr",{},[132,133,134],"th",{},"Approach",[132,136,137],{},"Receives",[132,139,140],{},"Replies from your domain",[132,142,143],{},"One inbox",[132,145,146],{},"Sends from app",[148,149,150,166,181,196,210,223],"tbody",{},[129,151,152,156,159,162,164],{},[153,154,155],"td",{},"Cloudflare Email Routing alone",[153,157,158],{},"Yes",[153,160,161],{},"No",[153,163,161],{},[153,165,161],{},[129,167,168,171,173,176,178],{},[153,169,170],{},"Cloudflare Routing + Email Service",[153,172,158],{},[153,174,175],{},"No (API only, no inbox)",[153,177,161],{},[153,179,180],{},"Yes (CF-hosted domains)",[129,182,183,186,188,191,194],{},[153,184,185],{},"Cloudflare + Gmail Send-As",[153,187,158],{},[153,189,190],{},"Fragile (DMARC)",[153,192,193],{},"Sort of (Gmail)",[153,195,161],{},[129,197,198,201,203,206,208],{},[153,199,200],{},"Cloudflare + a sending service",[153,202,158],{},[153,204,205],{},"Yes, after MX wrangling",[153,207,161],{},[153,209,158],{},[129,211,212,215,217,219,221],{},[153,213,214],{},"Fastmail \u002F Google Workspace",[153,216,158],{},[153,218,158],{},[153,220,158],{},[153,222,161],{},[129,224,225,228,230,232,235],{},[153,226,227],{},"Mailyond",[153,229,158],{},[153,231,158],{},[153,233,234],{},"Yes, all domains",[153,236,237],{},"Yes (REST API)",[17,239,240],{},"A couple of honest notes.",[17,242,243,244,247,248,251],{},"If you only own one domain and mostly want clean personal email, ",[60,245,246],{},"Fastmail"," ($5\u002Fmonth) or ",[60,249,250],{},"Google Workspace"," is the calm choice. They receive and send properly with no glue. The pain only really shows up when you run several domains and don't want a separate paid mailbox for each one.",[17,253,254,255,258],{},"If you're technical and happy maintaining two services, ",[60,256,257],{},"Cloudflare for receive plus a sender"," works once you get past the MX conflict. Cloudflare's own Email Service can be that sender now, which keeps you in one vendor, but it's API-only and only for domains on Cloudflare, so it still doesn't give a non-developer a place to read and reply. Either way you're signing up for ongoing setup per domain, not a five-minute job.",[29,260,262],{"id":261},"where-mailyond-fits","Where Mailyond fits",[17,264,265,266,269],{},"We're building ",[40,267,227],{"href":268},"\u002F#waitlist"," for the exact spot Cloudflare Email Routing leaves you in: you can receive on all your domains, but replying and managing it is a mess of forwarding rules and half-working hacks.",[17,271,272],{},"The idea:",[88,274,275,282,285,288,291],{},[91,276,277,278,281],{},"Receive on a domain or subdomain like ",[21,279,280],{},"support.yourdomain.com"," by adding one DNS record.",[91,283,284],{},"Reply from that domain, signed correctly, so your answer lands in the inbox instead of spam.",[91,286,287],{},"See and answer mail from every domain you own in one place.",[91,289,290],{},"Send transactional email from your app with a plain REST call, so you don't need a second service.",[91,292,293],{},"Keep your main email on Gmail or Google Workspace. Mailyond runs alongside it, not instead of it.",[17,295,296,297,300],{},"To be straight: Mailyond isn't live yet. We're onboarding early users from the waitlist and shaping it around real multi-domain setups. If \"I can receive but I can't reply\" is your problem, ",[40,298,299],{"href":268},"join the waitlist",".",[17,302,303,304,308,309,300],{},"For the cost angle on all this, see why per-user billing makes Google Workspace awkward for multi-domain owners in our ",[40,305,307],{"href":306},"\u002Fblog\u002Fgoogle-workspace-alternative-for-multiple-domains","Google Workspace alternative guide",", or check the ",[40,310,312],{"href":311},"\u002F#pricing","pricing",[29,314,316],{"id":315},"the-short-version","The short version",[17,318,319],{},"Cloudflare Email Routing is great at one job: getting mail to your domain into a mailbox you already have. It won't send your reply, and Cloudflare's newer Email Service only sends programmatically, with no inbox to reply from and only for domains on Cloudflare. Send-As is breaking under tighter authentication rules, and bolting on a separate sender means two stacks and an MX fight. If you run more than a couple of domains and want to actually reply from them without the duct tape, that's the gap we're filling.",{"title":321,"searchDepth":322,"depth":322,"links":323},"",2,[324,325,326,327,328,329],{"id":31,"depth":322,"text":32},{"id":52,"depth":322,"text":53},{"id":82,"depth":322,"text":83},{"id":120,"depth":322,"text":121},{"id":261,"depth":322,"text":262},{"id":315,"depth":322,"text":316},"2026-05-28","Cloudflare Email Routing only forwards. It can't send or reply. Here's why, the workarounds people try, and how to actually reply from your domain.","md",{"src":334},"https:\u002F\u002Fimages.pexels.com\u002Fphotos\u002F4065876\u002Fpexels-photo-4065876.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",{},true,"\u002Fblog\u002Fcloudflare-email-routing-reply",{"title":5,"description":331},"blog\u002Fcloudflare-email-routing-reply","a0detDQqSLLuY7XDWiksoO3DQ5X6hInKXpCdpJbz0z0",[342,343],null,{"title":344,"path":306,"stem":345,"description":346,"children":-1},"Google Workspace Alternative for Multiple Domains","blog\u002Fgoogle-workspace-alternative-for-multiple-domains","Google Workspace bills per user and Send-As keeps breaking. Here's how to run email across multiple domains without paying per domain.",1781280687348]