{"id":21091,"date":"2016-12-21T07:46:46","date_gmt":"2016-12-21T13:46:46","guid":{"rendered":"https:\/\/www.rosehosting.com\/blog\/?p=21091"},"modified":"2022-12-19T07:07:36","modified_gmt":"2022-12-19T13:07:36","slug":"setup-and-configure-a-mail-server-with-postfixadmin","status":"publish","type":"post","link":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/","title":{"rendered":"Set Up a Mail Server with PostfixAdmin"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p><img decoding=\"async\" class=\"alignnone size-full wp-image-21103\" src=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin.jpg\" alt=\"setup and configure a mail server with postfixadmin\" width=\"1200\" height=\"600\" srcset=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin.jpg 1200w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-150x75.jpg 150w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-300x150.jpg 300w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-768x384.jpg 768w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-1024x512.jpg 1024w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-860x430.jpg 860w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-680x340.jpg 680w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-500x250.jpg 500w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-400x200.jpg 400w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-200x100.jpg 200w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin-50x25.jpg 50w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><img decoding=\"async\" class=\"alignright size-full wp-image-28746\" src=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/postfixadmin.jpg\" alt=\"postfixadmin\" width=\"150\" height=\"116\" \/>In this article, we will show you how to set up and configure a mail server with Postfix, Dovecot, Spamassassin, SQLite and PostfixAdmin on an Ubuntu 16.04 VPS with Nginx and PHP 7.0. This guide should work on other Linux VPS systems as well but was tested and written for an <a title=\"Ubuntu VPS Hosting\" href=\"https:\/\/www.rosehosting.com\/ubuntu-hosting.html\" target=\"_blank\" rel=\"noopener noreferrer\">Ubuntu 16.04 VPS<\/a>. To <strong>set up a mail server with PostfixAdmin<\/strong>, just follow the steps below.<\/p>\n<p><!--more--><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69f4df8f41d24\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69f4df8f41d24\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#1-Login-to-your-VPS-via-SSH\" >1. Login to your VPS via SSH<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#2-Update-the-system-and-install-necessary-packages\" >2. Update the system and install necessary packages<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#3-Create-a-system-user\" >3. Create a system user<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#4-Install-PHP-70-and-all-required-PHP-modules\" >4. Install PHP 7.0 and all required PHP modules<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#5-Install-and-configure-Nginx\" >5. Install and configure Nginx<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#6-PostfixAdmin\" >6. PostfixAdmin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#7-Install-and-configure-postfix\" >7. Install and configure postfix<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#8-Install-and-Configure-Dovecot\" >8. Install and Configure Dovecot<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#9-SpamAssassin\" >9. SpamAssassin<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"1-Login-to-your-VPS-via-SSH\"><\/span>1. Login to your VPS via SSH<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<pre>ssh my_sudo_user@my_server<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"2-Update-the-system-and-install-necessary-packages\"><\/span>2. Update the system and install necessary packages<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<pre>sudo apt-get update &amp;&amp; sudo apt-get -y upgrade\r\nsudo apt-get -y install wget nano dbconfig-common sqlite3<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"3-Create-a-system-user\"><\/span>3. Create a system user<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>For security reasons, we will create a new system user who will be the owner of all mailboxes.<\/p>\n<pre>sudo useradd -r -u 150 -g mail -d \/var\/vmail -s \/sbin\/nologin -c \"Virtual Mail User\" vmail\r\nsudo mkdir -p \/var\/vmail\r\nsudo chmod -R 770 \/var\/vmail\r\nsudo chown -R vmail:mail \/var\/vmail\r\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"4-Install-PHP-70-and-all-required-PHP-modules\"><\/span>4. Install PHP 7.0 and all required PHP modules<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you don&#8217;t have PHP installed on your server you can install the latest stable version of PHP 7.0 and all necessary modules, with the following command:<\/p>\n<pre>sudo apt-get -y install php-fpm php-cli php7.0-mbstring php7.0-imap php7.0-sqlite3<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"5-Install-and-configure-Nginx\"><\/span>5. Install and configure Nginx<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you don&#8217;t have a web server installed on your machine, install Nginx from the official Ubuntu repositories:<\/p>\n<pre>sudo apt-get -y install nginx<\/pre>\n<p>Create a new Nginx server block with the following content:<\/p>\n<pre>sudo nano \/etc\/nginx\/sites-available\/postfixadmin.your_domain.com<\/pre>\n<pre>server {\r\n  listen 80;\r\n  server_name postfixadmin.your_domain.com;\r\n  return 301 https:\/\/$server_name$request_uri;\r\n}\r\n\r\nserver {\r\n   listen          443 ssl;\r\n   server_name     postfixadmin.your_domain.com;\r\n   root            \/var\/www\/postfixadmin-3.0;\r\n   index           index.php;\r\n   charset         utf-8;\r\n\r\n   ssl_certificate           \/etc\/ssl\/certs\/ssl-cert-snakeoil.pem;\r\n   ssl_certificate_key       \/etc\/ssl\/private\/ssl-cert-snakeoil.key;\r\n   ssl_protocols             TLSv1.2;\r\n   ssl_ciphers               \"EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4\";\r\n   ssl_prefer_server_ciphers on;\r\n   ssl_session_cache         shared:SSL:10m;\r\n   ssl_session_timeout       10m;\r\n   ssl_ecdh_curve            secp521r1;\r\n\r\n   location \/ {\r\n      try_files $uri $uri\/ index.php;\r\n   }\r\n\r\n   location ~* \\.php$ {\r\n        fastcgi_split_path_info ^(.+\\.php)(\/.+)$;\r\n        include       fastcgi_params;\r\n        fastcgi_pass  unix:\/run\/php\/php7.0-fpm.sock;\r\n        fastcgi_index index.php;\r\n        include fastcgi_params;\r\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\r\n        fastcgi_buffer_size 16k;\r\n        fastcgi_buffers 4 16k;\r\n   }\r\n}<\/pre>\n<p>Activate the server block by creating a symbolic link:<\/p>\n<pre>sudo ln -s \/etc\/nginx\/sites-available\/postfixadmin.your_domain.com \/etc\/nginx\/sites-enabled\/postfixadmin.your_domain.com<\/pre>\n<p>Test the Nginx configuration and restart nginx:<\/p>\n<pre>sudo nginx -t\r\nsudo service nginx restart<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"6-PostfixAdmin\"><\/span>6. PostfixAdmin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/github.com\/postfixadmin\/postfixadmin\">PostfixAdmin <\/a>is a PHP-based web frontend that allows you to manage the database that postfix uses for virtual domains and users. The latest version of PostfixAdmin, version 3, supports MySQL PostgreSQL and SQLite databases. In this guide, we will use the latter.<br \/>\nDownload the PostfixAdmin archive from SourceForge and extract it in the \/var\/www\/ directory:<\/p>\n<pre>wget -q -O - \"http:\/\/downloads.sourceforge.net\/project\/postfixadmin\/postfixadmin\/postfixadmin-3.0\/postfixadmin-3.0.tar.gz\" | sudo tar -xzf - -C \/var\/www<\/pre>\n<p>Open the mail configuration file and edit the following values:<\/p>\n<pre>sudo nano \/var\/www\/postfixadmin-3.0\/config.inc.php<\/pre>\n<pre>$CONF['configured'] = true;\r\n$CONF['database_type'] = 'sqlite';\r\n$CONF['database_name'] = '\/var\/vmail\/postfixadmin.db';\r\n\/\/ $CONF['database_host'] = 'localhost';\r\n\/\/ $CONF['database_user'] = 'postfix';\r\n\/\/ $CONF['database_password'] = 'postfixadmin';\r\n\/\/ $CONF['database_name'] = 'postfix';\r\n\r\n$CONF['domain_path'] = 'NO';\r\n$CONF['domain_in_mailbox'] = 'YES';\r\n<\/pre>\n<pre>sudo chown -R www-data: \/var\/www\/postfixadmin-3.0<\/pre>\n<p>Create the SQLite database:<\/p>\n<pre>sudo touch \/var\/vmail\/postfixadmin.db\r\nsudo chown vmail:mail \/var\/vmail\/postfixadmin.db\r\nsudo usermod -a -G mail www-data<\/pre>\n<p>To populate the database go to <code>https:\/\/postfixadmin.your_domain.com\/setup.php<\/code> and you should see something like below:<br \/>\n<code>Testing database connection - OK - sqlite:\/\/:xxxxx@\/\/var\/vmail\/postfixadmin.db<\/code><\/p>\n<p>Create a new admin user:<\/p>\n<pre>bash \/var\/www\/postfixadmin-3.0\/scripts\/postfixadmin-cli admin add admin@your_domain.com --password strong_password --password2 strong_password --superadmin 1 --active 1\r\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"7-Install-and-configure-postfix\"><\/span>7. Install and configure postfix<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Install postfix with the command below:<\/p>\n<pre>sudo apt-get install postfix<\/pre>\n<p>Create the following files:<\/p>\n<pre> sudo nano \/etc\/postfix\/sqlite_virtual_alias_maps.cf<\/pre>\n<pre>dbpath = \/var\/vmail\/postfixadmin.db\r\nquery = SELECT goto FROM alias WHERE address='%s' AND active = '1'<\/pre>\n<pre> sudo nano \/etc\/postfix\/sqlite_virtual_alias_domain_maps.cf<\/pre>\n<pre>dbpath = \/var\/vmail\/postfixadmin.db\r\nquery = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = printf('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'<\/pre>\n<pre> sudo nano \/etc\/postfix\/sqlite_virtual_alias_domain_catchall_maps.cf<\/pre>\n<pre>dbpath = \/var\/vmail\/postfixadmin.db\r\nquery  = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = printf('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'<\/pre>\n<pre> sudo nano \/etc\/postfix\/sqlite_virtual_domains_maps.cf<\/pre>\n<pre>dbpath = \/var\/vmail\/postfixadmin.db\r\nquery = SELECT domain FROM domain WHERE domain='%s' AND active = '1'<\/pre>\n<pre> sudo nano \/etc\/postfix\/sqlite_virtual_mailbox_maps.cf<\/pre>\n<pre>dbpath = \/var\/vmail\/postfixadmin.db\r\nquery = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'<\/pre>\n<pre> sudo nano \/etc\/postfix\/sqlite_virtual_alias_domain_mailbox_maps.cf<\/pre>\n<pre>dbpath = \/var\/vmail\/postfixadmin.db\r\nquery = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = printf('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'<\/pre>\n<p>Edit the <code>main.cf<\/code> file:<\/p>\n<pre>postconf -e \"myhostname = $(hostname -A)\"\r\n \r\npostconf -e \"virtual_mailbox_domains = sqlite:\/etc\/postfix\/sqlite_virtual_domains_maps.cf\"\r\npostconf -e \"virtual_alias_maps =  sqlite:\/etc\/postfix\/sqlite_virtual_alias_maps.cf, sqlite:\/etc\/postfix\/sqlite_virtual_alias_domain_maps.cf, sqlite:\/etc\/postfix\/sqlite_virtual_alias_domain_catchall_maps.cf\"\r\npostconf -e \"virtual_mailbox_maps = sqlite:\/etc\/postfix\/sqlite_virtual_mailbox_maps.cf, sqlite:\/etc\/postfix\/sqlite_virtual_alias_domain_mailbox_maps.cf\"\r\n \r\npostconf -e \"smtpd_tls_cert_file = \/etc\/ssl\/certs\/ssl-cert-snakeoil.pem\"\r\npostconf -e \"smtpd_tls_key_file = \/etc\/ssl\/private\/ssl-cert-snakeoil.key\"\r\npostconf -e \"smtpd_use_tls = yes\"\r\npostconf -e \"smtpd_tls_auth_only = yes\"\r\n \r\npostconf -e \"smtpd_sasl_type = dovecot\"\r\npostconf -e \"smtpd_sasl_path = private\/auth\"\r\npostconf -e \"smtpd_sasl_auth_enable = yes\"\r\npostconf -e \"smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination\"\r\n \r\npostconf -e \"mydestination = localhost\"\r\npostconf -e \"mynetworks = 127.0.0.0\/8\"\r\npostconf -e \"inet_protocols = ipv4\"\r\n \r\npostconf -e \"virtual_transport = lmtp:unix:private\/dovecot-lmtp\"\r\n<\/pre>\n<p>Open the <code> master.cf<\/code> file, find <code>submission inet n<\/code> and <code>smtps inet n<\/code> sections and edit as follows:<\/p>\n<pre>sudo nano \/etc\/postfix\/master.cf<\/pre>\n<pre>smtp      inet  n       -       y       -       -       smtpd\r\n#smtp      inet  n       -       y       -       1       postscreen\r\n#smtpd     pass  -       -       y       -       -       smtpd\r\n#dnsblog   unix  -       -       y       -       0       dnsblog\r\n#tlsproxy  unix  -       -       y       -       0       tlsproxy\r\nsubmission inet n       -       y       -       -       smtpd\r\n  -o syslog_name=postfix\/submission\r\n  -o smtpd_tls_security_level=encrypt\r\n  -o smtpd_sasl_auth_enable=yes\r\n#  -o smtpd_reject_unlisted_recipient=no\r\n  -o smtpd_client_restrictions=permit_sasl_authenticated,reject\r\n#  -o smtpd_helo_restrictions=$mua_helo_restrictions\r\n#  -o smtpd_sender_restrictions=$mua_sender_restrictions\r\n#  -o smtpd_recipient_restrictions=\r\n#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject\r\n  -o milter_macro_daemon_name=ORIGINATING\r\nsmtps     inet  n       -       y       -       -       smtpd\r\n  -o syslog_name=postfix\/smtps\r\n#  -o smtpd_tls_wrappermode=yes\r\n  -o smtpd_sasl_auth_enable=yes\r\n#  -o smtpd_reject_unlisted_recipient=no\r\n  -o smtpd_client_restrictions=permit_sasl_authenticated,reject\r\n#  -o smtpd_helo_restrictions=$mua_helo_restrictions\r\n#  -o smtpd_sender_restrictions=$mua_sender_restrictions\r\n#  -o smtpd_recipient_restrictions=\r\n#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject\r\n  -o milter_macro_daemon_name=ORIGINATING\r\n<\/pre>\n<p>Enable and restart the postfix service<\/p>\n<pre>systemctl enable postfix\r\nsystemctl restart postfix\r\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"8-Install-and-Configure-Dovecot\"><\/span>8. Install and Configure Dovecot<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Install dovecot with sqlite support using the command below:<\/p>\n<pre>sudo apt-get install dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-sqlite<\/pre>\n<p>Open the <code>\/etc\/dovecot\/conf.d\/10-mail.conf<\/code> file and change the following values:<\/p>\n<pre>mail_location = maildir:\/var\/vmail\/%d\/%n\r\nmail_privileged_group = mail\r\nmail_uid = vmail\r\nmail_gid = mail\r\nfirst_valid_uid = 150\r\nlast_valid_uid = 150\r\n<\/pre>\n<p>Open the <code>\/etc\/dovecot\/conf.d\/10-auth.conf<\/code> file and change the following values:<\/p>\n<pre>auth_mechanisms = plain login\r\n#!include auth-system.conf.ext\r\n!include auth-sql.conf.ext\r\n<\/pre>\n<p>Create a new <code>dovecot-sql.conf.ext<\/code> file:<\/p>\n<pre>sudo nano \/etc\/dovecot\/dovecot-sql.conf.ext<\/pre>\n<pre>driver = sqlite\r\nconnect = \/var\/vmail\/postfixadmin.db\r\ndefault_pass_scheme = MD5-CRYPT\r\npassword_query = \\\r\n  SELECT username as user, password, '\/var\/vmail\/%d\/%n' as userdb_home, \\\r\n  'maildir:\/var\/vmail\/%d\/%n' as userdb_mail, 150 as userdb_uid, 8 as userdb_gid \\\r\n  FROM mailbox WHERE username = '%u' AND active = '1'\r\nuser_query = \\\r\n  SELECT '\/var\/vmail\/%d\/%n' as home, 'maildir:\/var\/vmail\/%d\/%n' as mail, \\\r\n  150 AS uid, 8 AS gid, printf('dirsize:storage=', quota) AS quota \\\r\n  FROM mailbox WHERE username = '%u' AND active = '1'\r\n<\/pre>\n<p>In the <code>\/etc\/dovecot\/conf.d\/10-ssl.conf<\/code> file enable SSL support:<\/p>\n<pre>ssl = yes<\/pre>\n<p>.<\/p>\n<p>Open the <code>\/etc\/dovecot\/conf.d\/15-lda.conf<\/code> file and set the <code>postmaster_address<\/code> email address.<\/p>\n<pre>postmaster_address = postmaster@vps.your_domain.com<\/pre>\n<p>Open the <code>\/etc\/dovecot\/conf.d\/10-master.conf<\/code> file, find the service lmtp section and change it to:<\/p>\n<pre>service lmtp {\r\n  unix_listener \/var\/spool\/postfix\/private\/dovecot-lmtp {\r\n    mode = 0600\r\n    user = postfix\r\n    group = postfix\r\n  }\r\n}\r\n<\/pre>\n<p>find the service auth section and change it to:<\/p>\n<pre>service auth {\r\n  unix_listener \/var\/spool\/postfix\/private\/auth {\r\n    mode = 0666\r\n    user = postfix\r\n    group = postfix\r\n  }\r\n  unix_listener auth-userdb {\r\n    mode = 0600\r\n    user = vmail\r\n    #group = vmail\r\n  }\r\n  user = dovecot\r\n}\r\n<\/pre>\n<p>Change the service auth-worker section to the following:<\/p>\n<pre>service auth-worker {\r\n  user = vmail\r\n}<\/pre>\n<p>Set the permissions:<\/p>\n<pre>chown -R vmail:dovecot \/etc\/dovecot\r\nchmod -R o-rwx \/etc\/dovecot<\/pre>\n<p>Enable and restart the dovecot service<\/p>\n<pre>systemctl enable dovecot \r\nsystemctl restart dovecot \r\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"9-SpamAssassin\"><\/span>9. SpamAssassin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>SpamAssassin is an open source tool written in Perl which helps filter out unwanted messages. If you want to enable and configure SpamAssassin please continue with the following steps.<br \/>\nTo install SpamAssassin, run:<\/p>\n<pre>sudo apt-get install spamassassin\r\nsudo adduser spamd --disabled-login<\/pre>\n<p>Open the <code>\/etc\/default\/spamassassin<\/code> file and make the following changes:<\/p>\n<pre>ENABLED=1\r\nOPTIONS=\"--create-prefs --max-children 5 -d 127.0.0.1 --username spamd --helper-home-dir \/home\/spamd\/ -s \/home\/spamd\/spamd.log\"\r\nPIDFILE=\"\/home\/spamd\/spamd.pid\"\r\nCRON=1\r\n<\/pre>\n<p>To integrate SpamAssassin with Postfix, append the following at the end of the <code>\/etc\/postfix\/master.cf<\/code> file:<\/p>\n<pre>smtp      inet  n       -       -       -       -       smtpd\r\n    -o content_filter=spamassassin\r\n \r\nspamassassin unix  -       n       n       -       -       pipe\r\n   user=nobody argv=\/usr\/bin\/spamc -f -e \/usr\/sbin\/sendmail -oi -f ${sender} ${recipient}\r\n<\/pre>\n<p>Enable and restart the SpamAssassin service<\/p>\n<pre>systemctl enable spamassassin\r\nsystemctl restart spamassassin\r\nsystemctl restart postfix\r\n<\/pre>\n<hr \/>\n<p>If everything is set up correctly now you should be able to login to your PostfixAdmin back-end by going to <code>https:\/\/postfixadmin.your_domain.com\/<\/code> and create your first virtual domain and mailbox.<\/p>\n<hr \/>\n<p><img decoding=\"async\" class=\"alignleft size-full wp-image-28747\" src=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/install-postfixadmin.jpg\" alt=\"install postfixadmin\" width=\"200\" height=\"36\" srcset=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/install-postfixadmin.jpg 200w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/install-postfixadmin-150x27.jpg 150w\" sizes=\"(max-width: 200px) 100vw, 200px\" \/>Of course, you don\u2019t have to set up and configure a mail server with PostfixAdmin yourself if you use one of our <a title=\"linux vps hosting\" href=\"https:\/\/www.rosehosting.com\/email-hosting.html\" target=\"_blank\" rel=\"noopener noreferrer\">Mail Server Hosting<\/a> services, in which case you can simply ask our expert Linux admins to set up and configure a mail server with PostfixAdmin for you. They are available 24&#215;7 and will take care of your request immediately.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>PS<\/strong><\/span>. If you liked this post on how to install postfixadmin, please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we will show you how to set up and configure a mail server with Postfix, Dovecot, Spamassassin, &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Set Up a Mail Server with PostfixAdmin\" class=\"read-more button\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#more-21091\" aria-label=\"Read more about Set Up a Mail Server with PostfixAdmin\">Read More<\/a><\/p>\n","protected":false},"author":4,"featured_media":21103,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1706,13],"tags":[71,49,1472,220,1471,196,1470,1221],"class_list":["post-21091","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email-servers","category-tutorials","tag-dovecot","tag-nginx","tag-php-7-0","tag-postfix","tag-postfixadmin","tag-spamassassin","tag-sqlite","tag-ubuntu-16-04","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Set Up a Mail Server with PostfixAdmin | RoseHosting<\/title>\n<meta name=\"description\" content=\"Set Up a Mail Server with PostfixAdmin | RoseHosting\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Set Up a Mail Server with PostfixAdmin\" \/>\n<meta property=\"og:description\" content=\"Set Up a Mail Server with PostfixAdmin | RoseHosting\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/\" \/>\n<meta property=\"og:site_name\" content=\"RoseHosting\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RoseHosting\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/rosehosting.helpdesk\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-21T13:46:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-19T13:07:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeff Wilson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:site\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Wilson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/\"},\"author\":{\"name\":\"Jeff Wilson\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\"},\"headline\":\"Set Up a Mail Server with PostfixAdmin\",\"datePublished\":\"2016-12-21T13:46:46+00:00\",\"dateModified\":\"2022-12-19T13:07:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/\"},\"wordCount\":581,\"commentCount\":19,\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/setup-and-configure-a-mail-server-with-postfixadmin.jpg\",\"keywords\":[\"Dovecot\",\"nginx\",\"PHP 7.0\",\"postfix\",\"PostfixAdmin\",\"spamassassin\",\"SQLite\",\"ubuntu 16.04\"],\"articleSection\":[\"Email Servers\",\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/\",\"name\":\"Set Up a Mail Server with PostfixAdmin | RoseHosting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/setup-and-configure-a-mail-server-with-postfixadmin.jpg\",\"datePublished\":\"2016-12-21T13:46:46+00:00\",\"dateModified\":\"2022-12-19T13:07:36+00:00\",\"description\":\"Set Up a Mail Server with PostfixAdmin | RoseHosting\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/setup-and-configure-a-mail-server-with-postfixadmin.jpg\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/setup-and-configure-a-mail-server-with-postfixadmin.jpg\",\"width\":1200,\"height\":600,\"caption\":\"setup and configure a mail server with postfixadmin\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/setup-and-configure-a-mail-server-with-postfixadmin\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Set Up a Mail Server with PostfixAdmin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"name\":\"RoseHosting.com\",\"description\":\"Premium Linux Tutorials Since 2001\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\",\"name\":\"RoseHosting\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"width\":192,\"height\":192,\"caption\":\"RoseHosting\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/RoseHosting\",\"https:\\\/\\\/x.com\\\/rosehosting\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/rosehosting\\\/\"],\"description\":\"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.\",\"email\":\"info@rosehosting.com\",\"telephone\":\"(314) 275-0414\",\"legalName\":\"Rose Web Services LLC\",\"foundingDate\":\"2001-04-02\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\",\"name\":\"Jeff Wilson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"caption\":\"Jeff Wilson\"},\"description\":\"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.\",\"sameAs\":[\"https:\\\/\\\/www.rosehosting.com\",\"https:\\\/\\\/www.facebook.com\\\/rosehosting.helpdesk\"],\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/author\\\/jwilson\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Set Up a Mail Server with PostfixAdmin | RoseHosting","description":"Set Up a Mail Server with PostfixAdmin | RoseHosting","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/","og_locale":"en_US","og_type":"article","og_title":"Set Up a Mail Server with PostfixAdmin","og_description":"Set Up a Mail Server with PostfixAdmin | RoseHosting","og_url":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/","og_site_name":"RoseHosting","article_publisher":"https:\/\/www.facebook.com\/RoseHosting","article_author":"https:\/\/www.facebook.com\/rosehosting.helpdesk","article_published_time":"2016-12-21T13:46:46+00:00","article_modified_time":"2022-12-19T13:07:36+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin.jpg","type":"image\/jpeg"}],"author":"Jeff Wilson","twitter_card":"summary_large_image","twitter_creator":"@rosehosting","twitter_site":"@rosehosting","twitter_misc":{"Written by":"Jeff Wilson","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#article","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/"},"author":{"name":"Jeff Wilson","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713"},"headline":"Set Up a Mail Server with PostfixAdmin","datePublished":"2016-12-21T13:46:46+00:00","dateModified":"2022-12-19T13:07:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/"},"wordCount":581,"commentCount":19,"publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin.jpg","keywords":["Dovecot","nginx","PHP 7.0","postfix","PostfixAdmin","spamassassin","SQLite","ubuntu 16.04"],"articleSection":["Email Servers","Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/","url":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/","name":"Set Up a Mail Server with PostfixAdmin | RoseHosting","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#primaryimage"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin.jpg","datePublished":"2016-12-21T13:46:46+00:00","dateModified":"2022-12-19T13:07:36+00:00","description":"Set Up a Mail Server with PostfixAdmin | RoseHosting","breadcrumb":{"@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#primaryimage","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin.jpg","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2016\/12\/setup-and-configure-a-mail-server-with-postfixadmin.jpg","width":1200,"height":600,"caption":"setup and configure a mail server with postfixadmin"},{"@type":"BreadcrumbList","@id":"https:\/\/www.rosehosting.com\/blog\/setup-and-configure-a-mail-server-with-postfixadmin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rosehosting.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Set Up a Mail Server with PostfixAdmin"}]},{"@type":"WebSite","@id":"https:\/\/www.rosehosting.com\/blog\/#website","url":"https:\/\/www.rosehosting.com\/blog\/","name":"RoseHosting.com","description":"Premium Linux Tutorials Since 2001","publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rosehosting.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.rosehosting.com\/blog\/#organization","name":"RoseHosting","url":"https:\/\/www.rosehosting.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","width":192,"height":192,"caption":"RoseHosting"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RoseHosting","https:\/\/x.com\/rosehosting","https:\/\/www.linkedin.com\/in\/rosehosting\/"],"description":"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.","email":"info@rosehosting.com","telephone":"(314) 275-0414","legalName":"Rose Web Services LLC","foundingDate":"2001-04-02","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"}},{"@type":"Person","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713","name":"Jeff Wilson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","caption":"Jeff Wilson"},"description":"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.","sameAs":["https:\/\/www.rosehosting.com","https:\/\/www.facebook.com\/rosehosting.helpdesk"],"url":"https:\/\/www.rosehosting.com\/blog\/author\/jwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/21091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/comments?post=21091"}],"version-history":[{"count":3,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/21091\/revisions"}],"predecessor-version":[{"id":44415,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/21091\/revisions\/44415"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media\/21103"}],"wp:attachment":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media?parent=21091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/categories?post=21091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/tags?post=21091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}