I run a simple server that I administrate remotely, and I need it to be able to send an email to my personal email address every time an error occurs. With the default setup on Ubuntu, sendmail just accumulates emails in /var/spool/mail that are to be sent locally, but I need it to go to an external email.
The tutorials I've found all talk about setting up postfix/sendmail as a full-fledged email server, but I just need outgoing only, no external logins. Is there an easy way to do this?
Check that your server is open to the world in port 25 ( outgoing only). And the dns is configured correctly. You are not suppose to do anything to sendmail for sending outgoing mails.
You should also pay attention if you need a relay host and define it (DSmy.relay.host)
Maybe nullmailer is for you.
Assuming you are actually using postfix.
I would run dpkg-reconfigure postfix and select the "internet site" or "internet site with smarthost" (if you want to send the mail through a smarthost) option as a starting point. This will enable you to send mail to and receive mail from the internet.
If you don't want the box to be able to receive mail then I would suggest configuring the SMTP server to listen on localhost only. See https://superuser.com/a/430329/506601
Open /etc/aliases with a text editor (using sudo) and change the root line to be your email address, or add another line with your local user in it on the left hand side, and on the right hand side enter your email address:
then after saving the aliases file, run newaliases command:
Both sendmail and postfix are configured by default to send outbound mail on most systems.
Here are some details on how to setup sendmail for Outgoing Only
Also on this page
I modified these steps from what is listed on the website for centos/Amazon Linux.
Here are the steps: