{"id":14749,"date":"2025-12-18T12:21:34","date_gmt":"2025-12-18T06:51:34","guid":{"rendered":"https:\/\/www.youstable.com\/blog\/?p=14749"},"modified":"2025-12-24T16:13:02","modified_gmt":"2025-12-24T10:43:02","slug":"set-up-an-email-server","status":"publish","type":"post","link":"https:\/\/www.youstable.com\/blog\/set-up-an-email-server","title":{"rendered":"How to Set Up Email Server on a Dedicated Hosting Environment"},"content":{"rendered":"\n<p>To set up an email server on a dedicated server, assign a proper hostname (mail.example.com), install and secure Postfix (SMTP) and Dovecot (IMAP\/POP3) with TLS, open mail ports, configure DNS (MX, SPF, DKIM, DMARC) and rDNS, enable spam filtering, create mailboxes, and verify deliverability with major providers.<\/p>\n\n\n\n<p>Setting up an email server on a dedicated hosting environment gives you full control, better privacy, and brand trust\u2014but it also demands careful configuration for security and deliverability. In this guide, you\u2019ll learn how to set up email server on a dedicated server using Postfix and Dovecot, configure DNS correctly, and pass modern anti-spam checks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"what-you-need-before-you-begin\"><strong>What You Need Before You Begin<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"server-os-and-hostname-fqdn\"><strong>Server, OS, and Hostname (FQDN)<\/strong><\/h3>\n\n\n\n<p>Use a clean <a href=\"https:\/\/www.youstable.com\/blog\/secure-dedicated-server\/\">dedicated server<\/a> (Ubuntu 22.04\/24.04 LTS or RHEL\/Rocky 9 recommended) with at least 2 vCPU, 4 GB RAM, and SSD. Set a permanent hostname to a fully qualified domain name, typically mail.example.com, and point an A\/AAAA record to your server\u2019s IP(s).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"clean-ip-and-reverse-dns\"><strong>Clean IP and Reverse DNS<\/strong><\/h3>\n\n\n\n<p>Email deliverability hinges on IP reputation. Start with a clean IP (not on blacklists), then set a PTR (reverse DNS) to match your mail hostname (e.g., 203.0.113.10 \u2192 mail.example.com). Many providers require a request to support to set rDNS; YouStable support can set PTR on your dedicated IPs on request.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"open-ports-and-provider-policies\"><strong>Open Ports and Provider Policies<\/strong><\/h3>\n\n\n\n<p>Ensure your provider allows outbound SMTP (port 25). Open these ports in your firewall: 25 (SMTP), 465 (SMTPS), 587 (Submission), 110\/995 (POP3\/POP3S), 143\/993 (IMAP\/IMAPS), and 4190 (Sieve, optional). Some clouds block 25 by default\u2014request an unblock or use a smart host relay if needed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"two-paths-control-panel-or-manual-stack\"><strong>Two Paths: Control Panel or Manual Stack<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"if-you-prefer-a-control-panel\"><strong>If You Prefer a Control Panel<\/strong><\/h3>\n\n\n\n<p>cPanel, Plesk, and DirectAdmin automate most email tasks (mailboxes, SPF\/DKIM, webmail). They\u2019re ideal if you want speed over manual control. If you choose a panel, much of the SMTP\/IMAP configuration is handled for you. You\u2019ll still need correct DNS, rDNS, and security policies.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"if-you-want-full-control-our-stack\"><strong>If You Want Full Control (Our Stack)<\/strong><\/h3>\n\n\n\n<p>We\u2019ll use Postfix (MTA) for sending\/receiving and Dovecot for IMAP\/POP3. For spam filtering and authentication, we\u2019ll cover Rspamd or SpamAssassin with OpenDKIM\/OpenDMARC. This approach is flexible and production-grade when configured properly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"step-by-step-install-and-configure-your-email-server\"><strong>Step-by-Step: Install and Configure Your Email Server<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"1-update-set-timezone-and-configure-firewall\"><strong>1) Update, Set Timezone, and Configure Firewall<\/strong><\/h3>\n\n\n\n<p>Accurate time and security are prerequisites. Replace example.com with your domain as needed.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Ubuntu\nsudo apt update &amp;&amp; sudo apt -y upgrade\nsudo timedatectl set-timezone UTC\n\n# RHEL\/Rocky\nsudo dnf -y update\nsudo timedatectl set-timezone UTC\n\n# UFW firewall (Ubuntu)\nsudo ufw allow 22\/tcp\nsudo ufw allow 25,465,587\/tcp\nsudo ufw allow 110,995,143,993\/tcp\nsudo ufw allow 4190\/tcp\nsudo ufw enable<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"2-set-hostname-and-dns-records\"><strong>2) Set Hostname and DNS Records<\/strong><\/h3>\n\n\n\n<p>Set your mail hostname (must match rDNS):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo hostnamectl set-hostname mail.example.com<\/code><\/pre>\n\n\n\n<p>In your DNS zone, add:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A record: mail.example.com \u2192 203.0.113.10<\/li>\n\n\n\n<li>MX record: example.com \u2192 mail.example.com (priority 10)<\/li>\n\n\n\n<li>TXT SPF: \u201cv=spf1 a mx ip4:203.0.113.10 ~all\u201d<\/li>\n<\/ul>\n\n\n\n<p>We\u2019ll add DKIM and DMARC after configuring signing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"3-install-postfix-and-dovecot\"><strong>3) Install Postfix and Dovecot<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Ubuntu\nsudo apt -y install postfix dovecot-imapd dovecot-pop3d\n\n# RHEL\/Rocky\nsudo dnf -y install postfix dovecot<\/code><\/pre>\n\n\n\n<p>When prompted, choose \u201cInternet Site\u201d and set mail.example.com as system mail name.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"4-obtain-tls-certificates-lets-encrypt\"><strong>4) Obtain TLS Certificates (Let\u2019s Encrypt)<\/strong><\/h3>\n\n\n\n<p>Encrypt SMTP, IMAP, and POP3. Ensure mail.example.com resolves to your server first.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Ubuntu (snap)\nsudo snap install --classic certbot\nsudo certbot certonly --standalone -d mail.example.com --agree-tos -m admin@example.com --non-interactive\n\n# Cert paths (commonly)\n# \/etc\/letsencrypt\/live\/mail.example.com\/fullchain.pem\n# \/etc\/letsencrypt\/live\/mail.example.com\/privkey.pem<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"5-postfix-core-configuration\"><strong>5) Postfix: Core Configuration<\/strong><\/h3>\n\n\n\n<p>Edit \/etc\/postfix\/main.cf and set minimum secure options. Replace example values.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>myhostname = mail.example.com\nmyorigin = \/etc\/mailname\nmydestination = $myhostname, localhost\ninet_interfaces = all\ninet_protocols = ipv4\nmynetworks = 127.0.0.0\/8\nmessage_size_limit = 30720000\n\n# TLS\nsmtpd_tls_cert_file = \/etc\/letsencrypt\/live\/mail.example.com\/fullchain.pem\nsmtpd_tls_key_file = \/etc\/letsencrypt\/live\/mail.example.com\/privkey.pem\nsmtpd_use_tls = yes\nsmtpd_tls_auth_only = yes\nsmtp_tls_security_level = may\nsmtpd_tls_security_level = may\nsmtpd_tls_loglevel = 1\n\n# Authentication (via Dovecot)\nsmtpd_sasl_type = dovecot\nsmtpd_sasl_path = private\/auth\nsmtpd_sasl_auth_enable = yes\nsmtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination\n\n# Submission tuning\nsubmission_recipient_restrictions = permit_sasl_authenticated, reject\nsmtpd_relay_restrictions = permit_sasl_authenticated, reject_unauth_destination<\/code><\/pre>\n\n\n\n<p>Enable Submission (587) and SMTPS (465) in \/etc\/postfix\/master.cf:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>submission inet n       -       y       -       -       smtpd\n  -o syslog_name=postfix\/submission\n  -o smtpd_tls_security_level=encrypt\n  -o smtpd_sasl_auth_enable=yes\n  -o smtpd_client_restrictions=permit_sasl_authenticated,reject\n\nsmtps     inet  n       -       y       -       -       smtpd\n  -o syslog_name=postfix\/smtps\n  -o smtpd_tls_wrappermode=yes\n  -o smtpd_sasl_auth_enable=yes<\/code><\/pre>\n\n\n\n<p>Reload Postfix:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now postfix\nsudo systemctl reload postfix<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"6-dovecot-imap-pop3-and-auth\"><strong>6) Dovecot: IMAP\/POP3 and Auth<\/strong><\/h3>\n\n\n\n<p>Configure SSL and authentication in Dovecot. Edit \/etc\/dovecot\/dovecot.conf or conf.d files:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>protocols = imap pop3 lmtp\nssl = required\nssl_cert = &lt;\/etc\/letsencrypt\/live\/mail.example.com\/fullchain.pem\nssl_key = &lt;\/etc\/letsencrypt\/live\/mail.example.com\/privkey.pem\n\nauth_mechanisms = plain login\n\n# Mail location (Maildir in user home)\nmail_location = maildir:~\/Maildir\n\n# Enable auth socket for Postfix\nservice auth {\n  unix_listener \/var\/spool\/postfix\/private\/auth {\n    mode = 0660\n    user = postfix\n    group = postfix\n  }\n}<\/code><\/pre>\n\n\n\n<p>For simple setups, create system users (e.g., useradd) and they become mailbox owners. For multi-domain hosting, configure virtual users with SQL; that\u2019s beyond a beginner guide but fully supported by Postfix\/Dovecot.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now dovecot\nsudo systemctl reload dovecot<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading wp:block-heading\" class=\"wp-block-heading wp:block-heading\" id=\"7-spam-filtering-and-dkim-dmarc\"><strong>7) Spam Filtering and DKIM\/DMARC<\/strong><\/h2>\n\n\n\n<p>You need message signing and spam defenses to land in inboxes. Choose one path:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"option-a-rspamd-modern-fast\"><strong>Option A: Rspamd (modern, fast)<\/strong><\/h4>\n\n\n\n<p>Rspamd handles spam scoring and DKIM signing. Install via your distro or official repos, then configure Postfix milter to call Rspamd and create DKIM keys per domain. Basic flow:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youstable.com\/blog\/install-redis-on-linux\/\">Install rspamd and redis<\/a> (caches filters).<\/li>\n\n\n\n<li>Generate DKIM keys in \/var\/lib\/rspamd\/dkim\/ and publish the TXT record.<\/li>\n\n\n\n<li>Enable milter in Postfix main.cf to pass messages through Rspamd.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"option-b-spamassassin-plus-opendkim-plus-opendmarc\"><strong>Option B: SpamAssassin + OpenDKIM + OpenDMARC<\/strong><\/h4>\n\n\n\n<p>This classic combo works well and is easy to reason about:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Ubuntu\nsudo apt -y install spamassassin opendkim opendkim-tools opendmarc\nsudo systemctl enable --now spamassassin opendkim opendmarc<\/code><\/pre>\n\n\n\n<p>Generate DKIM keys and add the DNS record:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/etc\/opendkim\/keys\/example.com\ncd \/etc\/opendkim\/keys\/example.com\nsudo opendkim-genkey -s default -d example.com\nsudo chown opendkim:opendkim default.private\n# Publish default.txt as a TXT record for: default._domainkey.example.com<\/code><\/pre>\n\n\n\n<p>Wire OpenDKIM\/OpenDMARC to Postfix as milters in \/etc\/postfix\/main.cf:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>milter_default_action = accept\nmilter_protocol = 2\nsmtpd_milters = inet:127.0.0.1:8891, inet:127.0.0.1:8893\nnon_smtpd_milters = $smtpd_milters<\/code><\/pre>\n\n\n\n<p>Reload services after configuration changes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"8-publish-spf-dkim-dmarc-and-rdns\"><strong>8) Publish SPF, DKIM, DMARC, and rDNS<\/strong><\/h3>\n\n\n\n<p>Add or verify these DNS records (replace with your values):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>; A and MX\nmail.example.com.   IN A     203.0.113.10\nexample.com.        IN MX 10 mail.example.com.\n\n; SPF\nexample.com. IN TXT \"v=spf1 a mx ip4:203.0.113.10 ~all\"\n\n; DKIM (from your generated default.txt)\ndefault._domainkey.example.com. IN TXT \"v=DKIM1; k=rsa; p=MIIBIjANBgkqh...\"\n\n; DMARC (monitoring mode first)\n_dmarc.example.com. IN TXT \"v=DMARC1; p=none; rua=mailto:dmarc@example.com; fo=1\"\n\n; Later tighten DMARC to p=quarantine or p=reject after testing<\/code><\/pre>\n\n\n\n<p>Confirm PTR (rDNS) maps 203.0.113.10 \u2192 mail.example.com and that it matches your SMTP banner (myhostname).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"9-create-mailboxes-and-test\"><strong>9) Create Mailboxes and Test<\/strong><\/h3>\n\n\n\n<p>For system users:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo adduser alice\nsudo -u alice maildirmake.dovecot ~\/Maildir\nsudo -u alice maildirmake.dovecot ~\/Maildir\/.Sent\nsudo -u alice maildirmake.dovecot ~\/Maildir\/.Trash<\/code><\/pre>\n\n\n\n<p>Send a test message and check logs:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"Test body\" | mail -s \"Hello\" alice@example.com\nsudo tail -n 100 \/var\/log\/mail.log    # Ubuntu\/Debian\nsudo journalctl -u postfix -u dovecot # RHEL\/Rocky<\/code><\/pre>\n\n\n\n<p>Use an email client (Thunderbird, Outlook, Apple Mail) with IMAPS (993) and SMTP Submission (587). Ensure \u201cUse TLS\u201d or \u201cSTARTTLS\u201d is on.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"10-optional-webmail-roundcube\"><strong>10) Optional: Webmail (Roundcube)<\/strong><\/h3>\n\n\n\n<p>Install Roundcube and point it at localhost IMAP\/SMTP with TLS. Secure the webmail vhost with HTTPS using a <a href=\"https:\/\/www.youstable.com\/blog\/what-is-lets-encrypt-on-linux-server\/\">Let\u2019s Encrypt<\/a> certificate.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"deliverability-best-practices\"><strong>Deliverability Best Practices<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Warm up new IPs: start with a few hundred emails\/day and scale gradually.<\/li>\n\n\n\n<li>Keep list hygiene: confirm opt-ins, remove bounces and complainers quickly.<\/li>\n\n\n\n<li>Set up feedback loops with major ISPs where available.<\/li>\n\n\n\n<li>Adopt MTA-STS and TLS-RPT TXT records to enforce and monitor TLS.<\/li>\n\n\n\n<li>Consider BIMI after DMARC is at p=quarantine or p=reject and you have a VMC.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"security-hardening-essentials\"><strong>Security Hardening Essentials<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fail2ban: block abusive auth attempts against Postfix\/Dovecot.<\/li>\n\n\n\n<li>Disable VRFY and EXPN in Postfix to prevent address harvesting.<\/li>\n\n\n\n<li>Enforce strong auth and unique passwords; consider rate limits per user\/IP.<\/li>\n\n\n\n<li>Keep your server updated; auto-renew TLS certs with Certbot timers.<\/li>\n\n\n\n<li>Never allow open relay: test using online relay checkers.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Example Postfix hardening fragments\nsmtpd_helo_required = yes\ndisable_vrfy_command = yes\nmaximal_backoff_time = 4000s\nsmtp_tls_mandatory_ciphers = high<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"monitoring-backups-and-ongoing-care\"><strong>Monitoring, Backups, and Ongoing Care<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Logs: watch \/var\/log\/mail.log (Debian\/Ubuntu) or journalctl on RHEL.<\/li>\n\n\n\n<li>Metrics: track queue length, deferred messages, and rejection reasons.<\/li>\n\n\n\n<li>Backups: include Maildirs, Postfix\/Dovecot\/Rspamd configs, and DKIM keys.<\/li>\n\n\n\n<li>Blacklists: check Spamhaus, SORBS, Barracuda; delist promptly with evidence.<\/li>\n\n\n\n<li>User education: teach strong passwords and IMAPS\/Submission usage.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"common-errors-and-quick-fixes\"><strong>Common Errors and Quick Fixes<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Can\u2019t send to Gmail\/Outlook: verify rDNS, SPF, DKIM, DMARC alignment, and that port 25 is open.<\/li>\n\n\n\n<li>TLS errors: confirm certificate paths in Postfix\/Dovecot and that the CN\/SAN matches mail hostname.<\/li>\n\n\n\n<li>Authentication fails: ensure Dovecot auth socket permissions and matching usernames\/passwords.<\/li>\n\n\n\n<li>Open relay warnings: check smtpd_recipient_restrictions and milter settings; must require auth.<\/li>\n\n\n\n<li>Messages marked spam: improve content, warm IP, enable DMARC quarantine, and reduce link-shorteners.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"when-to-choose-managed-email-or-youstable\"><strong>When to Choose Managed Email or YouStable<\/strong><\/h2>\n\n\n\n<p>Running your own MTA provides control but requires vigilance. If you prefer a managed path, YouStable\u2019s <a href=\"https:\/\/www.youstable.com\/blog\/advantages-of-dedicated-server\/\">dedicated servers<\/a> come with clean IPs, rDNS assistance, and 24\u00d77 support. Our team can help you implement Postfix\/Dovecot or <a href=\"https:\/\/www.youstable.com\/blog\/what-is-cpanel-on-linux-server\/\">set up a control panel<\/a> and ensure SPF, DKIM, and DMARC are correctly deployed for reliable deliverability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"faqs-set-up-email-server\"><strong>FAQs: Set up Email Server<\/strong><\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h3 id=\"whats-the-fastest-way-to-set-up-an-email-server-on-a-dedicated-server\">What\u2019s the fastest way to set up an email server on a dedicated server?<\/h3>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>Use a hosting control panel like cPanel, Plesk, or DirectAdmin. It automates mailbox creation, DKIM, SPF, and webmail. You still need correct DNS and rDNS. For full control and lower licensing cost, follow the Postfix\/Dovecot steps in this guide.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h3 id=\"why-are-my-emails-going-to-spam-even-after-spf-and-dkim\">Why are my emails going to spam even after SPF and DKIM?<\/h3>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>Reputation and content matter. Warm up your IP, enable DMARC with alignment, ensure rDNS matches, and avoid spammy content (excessive links, shorteners, deceptive subjects). Implement spam filtering and keep complaints and bounces low.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h3 id=\"do-i-need-port-25-open-if-im-using-587-for-submission\">Do I need port 25 open if I\u2019m using 587 for submission?<\/h3>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>Yes. Your server must receive and send inter-server SMTP on port 25 for normal mail flow. Port 587 is for authenticated client submission. If your provider blocks 25, request an unblock or use a trusted SMTP relay (smart host).<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h3 id=\"is-rspamd-better-than-spamassassin\">Is Rspamd better than SpamAssassin?<\/h3>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>Rspamd is modern, fast, and integrates DKIM\/DMARC\/ARC with powerful rule sets. SpamAssassin remains reliable and simpler to grasp for many admins. Choose based on comfort; both can achieve excellent results when tuned.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h3 id=\"how-do-i-safely-scale-sending-on-a-new-dedicated-ip\">How do I safely scale sending on a new dedicated IP?<\/h3>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>Start small (e.g., 200\u2013500 messages\/day), monitor bounce\/complaint rates, and gradually increase volume over 2\u20134 weeks. Authenticate with SPF\/DKIM\/DMARC from day one, segment traffic by type, and maintain strict list hygiene to build a positive reputation.<\/p>\n\n\n\n<p>With careful setup, validated DNS, strong TLS, and steady reputation building, you can run a reliable, secure email service on your dedicated server. If you want expert help or a managed deployment, YouStable is ready to assist.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"What\u2019s the fastest way to set up an email server on a dedicated server?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Use a hosting control panel like cPanel, Plesk, or DirectAdmin. It automates mailbox creation, DKIM, SPF, and webmail. You still need correct DNS and rDNS. For full control and lower licensing cost, follow the Postfix\/Dovecot steps in this guide.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Why are my emails going to spam even after SPF and DKIM?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Reputation and content matter. Warm up your IP, enable DMARC with alignment, ensure rDNS matches, and avoid spammy content (excessive links, shorteners, deceptive subjects). Implement spam filtering and keep complaints and bounces low.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Do I need port 25 open if I\u2019m using 587 for submission?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Yes. Your server must receive and send inter-server SMTP on port 25 for normal mail flow. Port 587 is for authenticated client submission. If your provider blocks 25, request an unblock or use a trusted SMTP relay (smart host).<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Is Rspamd better than SpamAssassin?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Rspamd is modern, fast, and integrates DKIM\/DMARC\/ARC with powerful rule sets. SpamAssassin remains reliable and simpler to grasp for many admins. Choose based on comfort; both can achieve excellent results when tuned.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"How do I safely scale sending on a new dedicated IP?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Start small (e.g., 200\u2013500 messages\/day), monitor bounce\/complaint rates, and gradually increase volume over 2\u20134 weeks. Authenticate with SPF\/DKIM\/DMARC from day one, segment traffic by type, and maintain strict list hygiene to build a positive reputation.<\/p><p>With careful setup, validated DNS, strong TLS, and steady reputation building, you can run a reliable, secure email service on your dedicated server. If you want expert help or a managed deployment, YouStable is ready to assist.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>To set up an email server on a dedicated server, assign a proper hostname (mail.example.com), install and secure Postfix (SMTP) [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":14925,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[350],"tags":[2206],"class_list":["post-14749","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knowledgebase","tag-set-up-email-server"],"acf":[],"featured_image_src":"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/Set-Up-Email-Server-on-a-Dedicated-Hosting.jpg","author_info":{"display_name":"Prahlad Prajapati","author_link":"https:\/\/www.youstable.com\/blog\/author\/prahladblog"},"_links":{"self":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/14749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/comments?post=14749"}],"version-history":[{"count":2,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/14749\/revisions"}],"predecessor-version":[{"id":14957,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/14749\/revisions\/14957"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media\/14925"}],"wp:attachment":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media?parent=14749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/categories?post=14749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/tags?post=14749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}