Facebook X (Twitter) Instagram
    TecAdmin
    • Home
    • FeedBack
    • Submit Article
    • About Us
    Facebook X (Twitter) Instagram
    TecAdmin
    You are at:Home»Linux Distributions»Debian»How To Install Sendmail on Debian 10 (Buster)

    How To Install Sendmail on Debian 10 (Buster)

    By RahulMarch 13, 20193 Mins Read

    Sendmail is a MTA (Mail Transfer Agent) server used for transferring email from between different hosts. Sendmail uses SMTP (Simple Mail Transfer Protocol) protocol. Most of the system administrators preferred to use Sendmail server as MTA than other MTAs. This tutorial helps you to Install Sendmail on Debian 10 (Buster) Linux system.

    1. Install Sendmail on Debian 10

    If you don’t have installed Sendmail using the following command to install Sendmail with other required packages using the apt package manager.

    sudo apt update
    sudo apt install sendmail sendmail-cf m4
    

    2. Configure Sendmail

    After packages installation execute the sendmailconfig command to complete the basic configuration.

    sudo sendmailconfig
    

    Select all options to ‘Y‘ and press enter. Wait for the command finish.

    Your server is ready for sending emails. You can use the Linux command line or PHP script to send emails.

    3. Receive Incomming Emails

    To receive the incoming emails, you need to edit /etc/mail/sendmail.mc file and comment below line to allow receiving an email from anywhere. To comment a line in sendmail.mc, just put dnl keyword at the start of the line.

    dnl DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
    dnl DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
    

    Then add your domain names to /etc/mail/local-host-names file.

    cat /etc/mail/local-host-names
    
    tecadmin.net
    mail.tecadmin.net
    localhost
    localhost.localdomain
    

    Now use m4 is a macro processor to compile the Sendmail configuration files. m4 is stream-based, that is, it doesn’t understand about lines.

    sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
    

    Restart Sendmail service

    sudo systemctl restart sendmail
    

    Your system is ready for incoming emails.

    4. Configure Domain-based E-mail Routing

    As we read above that virtusertable file used for aliasing, allowing multiple virtual domains to be hosted on one machine.

    • 1. All emails addressed to @example.com domain delivered to [email protected]
      @example.org [email protected]
      
    • 2. All emails addressed to [email protected] will forward to local user jack.
      [email protected]  jack
      
    • 3. All emails addressed to @mydomain.com will forward to domain @otherdomain.com with corresponding usernames.
      @example.net    %[email protected]
      
    • 4. All emails addressed to @otherdomain.com will be rejected my mail server with acknowledging sender with the message
      @otherdomain.com 	 error:nouser User unknown
      

    After making all changes in virtusertable execute the following command to create an updated virtusertable.db file containing the new configuration.

    sudo makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
    

    Also, make sure the following entry is added in sendmail.mc file.

    FEATURE(`virtusertable')
    

    Add entry if not available and compile configuration file

    sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
    

    Now restart Sendmail service

    sudo systemctl restart sendmail
    

    Thanks for reading this article. I hope this article will help you to configure Sendmail on Debian 9 (Stretch) system.

    References:
    http://www.sendmail.com/
    http://www.sendmail.com/sm/open_source/docs/m4/intro_m4.html

    Buster Debian 10 sendmail
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp

    Related Posts

    How to Flush Sendmail Mail Queue

    Using the Apt Package Manager on Debian-based Systems

    Configuring Sendmail through the External SMTP relay

    View 2 Comments

    2 Comments

    1. Eric Flores on August 29, 2019 11:38 pm

      You got me! Section 4. Configure Domain-based E-mail Routing. Either you omitted the file to be edited or you are just describing how the process works.

      Reply
      • JD on May 13, 2020 11:10 am

        /etc/mail/virtusertable

        Reply

    Leave A Reply Cancel Reply

    Advertisement
    Recent Posts
    • Using .env Files in Django
    • Using .env File in FastAPI
    • Setting Up Email Notifications for Django Error Reporting
    • How to Enable Apache Rewrite (mod_rewrite) Module
    • What are Microservices?
    Facebook X (Twitter) Instagram Pinterest
    © 2023 Tecadmin.net. All Rights Reserved | Terms  | Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.