- Shipped
- September 12, 2026 at 2:33 AM UTC
- Author
- Kamo
- Commit
- f41c923
EmailService now pauses a campaign instead of failing its recipients one by one when it cannot send it: its From is off the platform relay's domain, or there is no bulk sender at all. It refuses send, schedule and resume while the cause stands, and reports it on the campaign as sendBlocker. - the editor and the progress view show a banner with the cause, the server's own sentence and the fix as two steps: change the From (or use the provider default) and resume, or open the bulk sender settings and resume. Resume stays disabled while the draft still has the cause - Resume now saves the draft first, so a corrected From reaches the backend instead of the campaign being resumed as stored and refused again - a refused send, schedule or resume is shown in place with the server's message, not only in a toast, and the campaign is re-read so its status and blocker are current - the campaigns grid marks a blocked campaign beside its status, with the reason on hover - errors from the campaign API prefer the human message over a bare machine code, and carry the status and code