[{"data":1,"prerenderedAt":169},["ShallowReactive",2],{"seo-verification":3,"blog-mailpit-self-hosted-smtp-testing-server-on-your-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":118,"ctaBody":119,"ctaButton":120,"ctaUrl":121,"relatedPosts":122},288,"mailpit-self-hosted-smtp-testing-server-on-your-vps",{"fr":10,"en":8,"ar":11},"self-host-mailpit-vps","mailpit-بديل-mailhog-لاختبار-البريد-على-vps","Mailpit: Self-Hosted SMTP Testing Server on Your VPS","Capture and preview emails sent by your app without delivering them. Mailpit replaces MailHog with a modern UI, REST API, and built-in spam scoring.",5,0,false,"2026-01-14T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-mailpit-vps-poster.svg",{"categorySlug":30,"appSlug":31},"development","mailpit","Mailpit is the unofficial successor to MailHog: an SMTP test server that captures every email sent by your application and displays it in a modern web interface, without ever delivering it to a real recipient. With full-text search, spam scoring, HTML compatibility checks, and a REST API for your CI pipelines, Mailpit has become the standard tool for teams testing their email-sending code. This guide shows you how to deploy it in under two minutes on your VPS.",[34,38,50,53,72,76,115],{"type":35,"title":36,"body":37},"h2","Why replace MailHog with Mailpit","MailHog was the go-to SMTP test server five years ago. But it has been unmaintained since 2020 and carries an unpatched stored XSS vulnerability (Exploit-DB 50971): any email containing JavaScript can compromise the web interface. Mailpit replaces it with a modern Go binary (under 50 MB RAM), a clean interface, full-text search, a documented REST API, an HTML compatibility report, and built-in spam scoring. It ships as the default in Laravel Sail since version 11 and in DDEV since version 1.22, making it the new industry standard.",{"type":39,"title":40,"items":41},"ul","What Mailpit brings in practice",[42,43,44,45,46,47,48,49],"SMTP capture on port 1025 — no email ever leaves your VPS, just configure your app to use localhost:1025.","Web interface on port 8025 with full-text search across subject, sender, and body.","REST API GET \u002Fapi\u002Fv1\u002Fmessages — query emails from your integration tests without any external relay.","Spam scoring with SpamAssassin rules — catch deliverability issues before production.","HTML compatibility report — spot CSS properties that will be stripped by Gmail, Outlook, or Apple Mail.","Mobile preview and raw source view, with full HTML rendering and detailed headers.","POP3 interface to fetch captured emails with any mail client.","SQLite on a persistent volume — messages survive container restarts.",{"type":35,"title":51,"body":52},"Deployment architecture on a VPS","Mailpit runs in a single Docker container. The SMTP server is accessible on localhost:1025 (loopback only), meaning only applications running on the same VPS can send emails to it — exactly what you want. The web interface is exposed on localhost:8025 and then proxied by nginx to a domain of your choice. This pattern is identical to Node-RED, Plausible, or Umami: one container, one loopback port, one nginx domain, one persistent volume.",{"type":54,"title":55,"steps":56},"steps","Deploy Mailpit in 5 steps",[57,60,63,66,69],{"title":58,"body":59},"Deploy from the ServOrbit marketplace","Open your control panel, go to Marketplace → Development → Mailpit and click Deploy. The container starts in under ten seconds.",{"title":61,"body":62},"Configure your application SMTP","In your environment variables, set MAIL_HOST=127.0.0.1 and MAIL_PORT=1025. No authentication, no TLS required by default. Laravel, Symfony, Django, Node.js — all support this configuration natively.",{"title":64,"body":65},"Open the web interface","Navigate to the domain attached to your Mailpit instance. You will see the real-time inbox: click any email to inspect its HTML rendering, headers, and spam score.",{"title":67,"body":68},"Integrate the REST API into your tests","Call GET https:\u002F\u002Fmailpit.your-domain.com\u002Fapi\u002Fv1\u002Fmessages from your test suite. Filter by recipient, verify the subject, count attachments — all without mocks or stubs.",{"title":70,"body":71},"Check HTML compatibility","Open any HTML email and click the Compatibility tab. Mailpit lists unsupported CSS properties client by client, with links to recommended fixes.",{"type":73,"title":74,"body":75},"tip","Mailpit in CI\u002FCD: testing emails in the pipeline","Deploy Mailpit as a service in your test docker-compose.yml (image: axllent\u002Fmailpit:latest, ports: 127.0.0.1:8025:8025 and 127.0.0.1:1025:1025). Your integration tests send emails to localhost:1025, then verify via the REST API that the correct message was received. This pattern is used by Laravel, Symfony, and Django teams to validate notifications and transactional emails without an external relay.",{"type":77,"title":78,"columns":79,"rows":84},"comparison","Mailpit vs MailHog vs Mailtrap",[80,81,82,83],"Criteria","Mailpit","MailHog","Mailtrap",[85,90,95,100,104,107,111],[86,87,88,89],"Maintainer","Axle Springer (active)","Abandoned since 2020","Mailtrap Inc. (SaaS)",[91,92,93,94],"Security","No known vulnerabilities","Unpatched stored XSS","SaaS — data hosted elsewhere",[96,97,98,99],"REST API","Complete and documented","Basic, undocumented","Yes (paid plan)",[101,102,103,99],"Spam scoring","Built-in (SpamAssassin)","None",[105,106,103,99],"HTML compatibility","Built-in report",[108,109,109,110],"Price","Free, MIT","Freemium, then $24\u002Fmonth",[20,112,113,114],"One Docker container","One Go binary","SaaS only",{"type":35,"title":116,"body":117},"Advanced use cases","Beyond simple send testing, Mailpit offers several lesser-known features. Multi-tenant mode (--mp-tenant) separates emails by application in a single server. SMTP authentication (MP_SMTP_AUTH_FILE) restricts who can connect. The MP_UI_AUTH_FILE variable adds basic auth to the web interface if you expose it publicly. And configurable retention (MP_MAX_MESSAGES=0 for unlimited, or a specific number) lets you adjust the retention policy to your testing needs.","Deploy Mailpit in one click on ServOrbit","With a ServOrbit Cloud VPS, Mailpit is available directly from the marketplace. Set up your SMTP test environment in two minutes, with no separate server to manage.","Launch my Cloud VPS","\u002Fvps-cloud",[123,141,155],{"id":124,"slug":125,"slugs":126,"title":129,"excerpt":130,"readTime":131,"views":15,"isPinned":16,"publishedAt":132,"category":133,"categories":138,"featuredImage":26,"bgImage":27,"posterImage":140,"relatedSolution":26},280,"postfix-smtp-relay-on-vps-client-transactional-emails",{"fr":127,"en":125,"ar":128},"smtp-relay-vps-emails-transactionnels-clients","إعداد-postfix-smtp-relay-على-vps-لبريد-المواقع","Postfix SMTP Relay on VPS: Client Transactional Emails","Set up Postfix as an SMTP relay on a ServOrbit VPS: dedicated IPv4, SPF, DKIM and DMARC aligned for your entire cPanel client portfolio in under an hour.",10,"2026-08-18T00:00:00+00:00",{"id":134,"name":135,"slug":136,"color":137,"icon":136},11,"Business Email","emails","bg-cyan-500\u002F10 text-cyan-400",[139],{"id":134,"name":135,"slug":136,"color":137,"icon":136},"\u002Fblog\u002Fcovers\u002Fsmtp-relay-vps-emails-transactionnels-clients-poster.svg",{"id":142,"slug":143,"slugs":144,"title":147,"excerpt":148,"readTime":134,"views":149,"isPinned":16,"publishedAt":150,"category":151,"categories":152,"featuredImage":26,"bgImage":27,"posterImage":154,"relatedSolution":26},238,"hosting-your-own-email-server-on-a-vps-with-mailcow",{"fr":145,"en":143,"ar":146},"heberger-serveur-email-vps-mailcow","استضافة-خادم-البريد-الإلكتروني-على-vps-باستخدام-mailcow","Hosting Your Own Email Server on a VPS with Mailcow","Deploy Mailcow on a Linux VPS to run your own sovereign email server: installation, deliverability and migration from Google Workspace.",1,"2026-08-08T00:00:00+00:00",{"id":134,"name":135,"slug":136,"color":137,"icon":136},[153],{"id":134,"name":135,"slug":136,"color":137,"icon":136},"\u002Fblog\u002Fcovers\u002Fheberger-serveur-email-vps-mailcow-poster.svg",{"id":156,"slug":157,"slugs":158,"title":161,"excerpt":162,"readTime":163,"views":15,"isPinned":16,"publishedAt":164,"category":165,"categories":166,"featuredImage":26,"bgImage":27,"posterImage":168,"relatedSolution":26},199,"spf-dkim-dmarc-passing-the-5000-email-threshold",{"fr":159,"en":157,"ar":160},"spf-dkim-dmarc-delivrabilite-emails-pro","spf-وdkim-وdmarc-تجاوز-عتبة-5000-رسالة","SPF, DKIM, DMARC: passing the 5,000-email threshold","Gmail and Outlook reject senders without aligned SPF, DKIM and DMARC with an SMTP 550 error. Here is how to configure all three records.",4,"2026-08-01T00:00:00+00:00",{"id":134,"name":135,"slug":136,"color":137,"icon":136},[167],{"id":134,"name":135,"slug":136,"color":137,"icon":136},"\u002Fblog\u002Fcovers\u002Fspf-dkim-dmarc-delivrabilite-emails-pro-poster.svg",1787581007526]