Modul 18-Mail Server
Modul 18-Mail Server
04
Introduction
Postfix is a mail transfer agent (MTA), an application used to send and receive email. In this tutorial, we
will install and configure Postfix so that it can be used to send emails by local applications only — that is,
those installed on the same server that Postfix is installed on.
If you're already using a third-party email provider for sending and receiving emails, you do not need to
run your own mail server. However, if you manage a cloud server on which you have installed
applications that need to send email notifications, running a local, send-only SMTP server is a good
alternative to using a 3rd party email service provider or running a full-blown SMTP server.
In this tutorial, you'll learn how to install and configure Postfix as a send-only SMTP server.
Prerequisites
To follow this tutorial, you will need:
One Ubuntu 16.04 Droplet set up with the Ubuntu 16.04 initial setup guide, including creating a
sudo non-root user
A valid domain name, like example.com, pointing to your server. You can set that up by
following this host name tutorial
Note that your server's hostname should match this domain or subdomain. You can verify the server's
hostname by typing hostname at the command prompt. The output should match the name you gave the
Droplet when it was being created.
Finally, install Postfix. Installing mailtuils will install Postfix as well as a few other programs needed for
Postfix to function.
Near the end of the installation process, you will be presented with a window that looks exactly like the
one in the image below. The default option is Internet Site. That's the recommended option for this
tutorial, so press TAB, then ENTER.
1
After that, you'll get another window just like the one in the next image. The System mail name should
be the same as the name you assigned to the server when you were creating it. If it shows a subdomain
like subdomain.example.com, change it to just example.com. When you've finished, press TAB,
then ENTER.
For that to happen, Postfix needs to be configured to listen only on the loopback interface, the virtual
network interface that the server uses to communicate internally. To make the change, open the main
Postfix configuration file using nano or your favorite text editor.
With the file open, scroll down until you see the following section.
2
/etc/postfix/main.cf
...
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
...
Change the line that reads inet_interfaces = all to inet_interfaces = loopback-only.
/etc/postfix/main.cf
...
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
...
Another directive you'll need to modify is mydestination, which is used to specify the list of domains that
are delivered via the local_transport mail delivery transport. By default, the values are similar to these:
/etc/postfix/main.cf
...
mydestination = $myhostname, example.com, localhost.com, , localhost
...
The recommended defaults for that scenario are given in the code block below, so modify yours to match:
/etc/postfix/main.cf
...
mydestination = $myhostname, localhost.$mydomain, $mydomain
...
If you're hosting multiple domains on a single server, the other domains can also be passed to Postfix
using the mydestination directive. However, to configure Postfix in a manner that scales and that does not
present issues for such a setup involves additional configurations that are beyond the scope of this
article.
echo "This is the body of the email" | mail -s "This is the subject line" your_email_address
In performing your own test(s), you may use the body and subject line text as-is, or change them to your
liking. However, in place of your_email_address, use a valid email address. The domain part can
be gmail.com, fastmail.com, yahoo.com, or any other email service provider that you use.
Now check the email address where you sent the test message. You should see the message in your
inbox. If not, check your spam folder.
3
Note that with this configuration, the address in the From field for the test emails you send will
be [email protected], where sammy is your Linux username and the domain part is the server's
hostname. If you change your username, the From address will also change.
To configure Postfix so that system-generated emails will be sent to your email address, you need to edit
the /etc/aliases file.
The full contents of the file on a default installation of Ubuntu 16.04 are as follows:
/etc/aliases
# See man 5 aliases for format
postmaster: root
With that setting, system generated emails are sent to the root user. What you want to do is edit it so that
those emails are rerouted to your email address. To accomplish that, edit the file so that it reads:
/etc/aliases
# See man 5 aliases for format
postmaster: root
root: your_email_address
Replace your_email_address with your personal email address. When finished, save and close the file.
For the change to take effect, run the following command:
sudo newaliases
You may now test that it works by sending an email to the root account using:
echo "This is the body of the email" | mail -s "This is the subject line" root
You should receive the email at your email address. If not, check your spam folder.
Conclusion
That's all it takes to set up a send-only email server using Postfix. You may want to take some additional
steps to protect your domain from spammers.
If your use case is to receive notifications from your server at a single address, emails being marked as
spam is a major issue because you can whitelist them. However, if your use case is to send emails to
potential site users (such as confirmation emails for a message board sign-up), you should definitely set
up SPF records and DKIM so your server's emails are more likely to be seen as legitimate.
How To use an SPF Record to Prevent Spoofing & Improve E-mail Reliability
How To Install and Configure DKIM with Postfix on Debian Wheezy Though that article was
written for Debian Wheezy, the same steps apply for Ubuntu 16.04.
If configured correctly, this makes it difficult to send spam with an address that appears to originate from
your domain. Doing these additional configuration steps will also make it more likely for common mail
providers to see emails from your server as legitimate.
4
Sumber : https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-
send-only-smtp-server-on-ubuntu-16-04