No announcement yet.

Can I create an SMTP service with VPS?


Unconfigured Ad Widget

  • Filter
  • Time
  • Show
Clear All
new posts

  • Can I create an SMTP service with VPS?

    The business I run sends and receives hundreds of emails every day, which is why I'm thinking of setting up an SMTP service. Can anyone help me set up an SMTP service without using a control panel?

  • #2
    Yes you can create an SMTP service with the VPS using the command line interface.

    Linux email servers have three mail service components that are:
    • Mail user agent is the GUI which allows you to compose and send emails, like Outlook.
    • Mail transport agent such as Sendmail and Postfix, are responsible for sending your mail from one location to another.
    • The Mail Delivery Agent delivers mail to your local machine so that it can be delivered to the appropriate mailbox. Postfix-maildrop and Procmail are examples of Mail delivering agent.
    Here, we are setting up mail service with Postfix

    Mail transfer agents are essential for creating mail service.

    Step 1: Install Postfix

    sudo apt-get update
    sudo apt-get install postfix.

    You will be presented with a Postfix configuration during installation, window in which you will be able to select how you want to configure your Postfix mail server.

    The following options will be presented to you:
    • No configuration
    • Internet site
    • Internet with smarthost
    • Satellite system and
    • Local

    For this particular purpose, the default mail configuration type is Internet Site. Select OK, and enter.

    Step 2: Configure Postfix

    You must configure Postfix to allow it to send and receive emails from the running server. In this case, the running server is the local host. You must configure Postfix to listen exclusively on the loopback interface. It is a virtual network that servers use internally to communicate.

    Make sure you back up the file before making any modifications, you might require the original version.

    $ sudo cp/etc/postfix/

    Postfix's main configuration file is /etc/postfix/ Edit this file using your preferred text editor.

    The following parameters should be configured:
    • myhostname: the hostname or domain name of your server.
    • mydestination: the list of domains that your server delivers mail to.
    • mynetworks: the list of IP addresses or networks that allows you to send mail through your server.
    • relayhost: is used for delivering mail to destinations outside your network (optional).

    Step 3: Configure SMTP authentication:

    The default setting for Postfix allows anyone to send email through your server. To prevent unauthorized access, you should configure SMTP authentication.
    • Install the SASL library using sudo apt-get install libsasl2-modules
    • To configure postfix to use SASL, add the following lines to /etc/postfix/main.c
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_type = cyrus
    smtpd_sasl_path = smtpd
    smtpd_sasl_local_domain = $myhostname
    smtpd_sasl_security_options = noanonymous
    smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject _unauth_destination
    • To create a SASL user: sudo saslpasswd2 -c -u $myhostname username
    • To restart postfix: sudo systemctl restart postfix

    Step 4: Configure Firewall

    The firewall may restrict Postfix, use the following commands to allow all the Postfix functions.

    $ sudo ufw allow "Postfix"

    $ sudo ufw allow "Postfix SMTPS"

    $ sudo ufw allow "Postfix Submission"

    Step 5: Test your SMTP server:

    Send a test email from the command line: echo "Test email" | mail -s "Test subject" [email protected]

    To check the mail logs for errors use sudo tail -f /var/log/mail.log command.
    Last edited by admin; 04-17-2023, 06:49 AM.