SSMTP is a program to deliver an email from a local computer to a configured mailhost (mailhub). It is not a mail server (like feature-rich mail server sendmail) and does not receive mail, expand aliases or manage a queue. One of its primary uses is for forwarding automated email (like system alerts) off your machine and to an external email address.
To install SSMTP:
pacman -S ssmtp
Forward to a Gmail Mail Server
To configure SSMTP, you will have to edit its configuration file (
/etc/ssmtp/ssmtp.conf) and enter your account settings:
# The user that gets all the mails (UID < 1000, usually the admin) firstname.lastname@example.org # The mail server (where the mail is sent to), both port 465 or 587 should be acceptable # See also http://mail.google.com/support/bin/answer.py?answer=78799 mailhub=smtp.gmail.com:587 # The address where the mail appears to come from for user authentification. rewriteDomain=gmail.com # The full hostname hostname=localhost # Use SSL/TLS before starting negotiation UseTLS=Yes UseSTARTTLS=Yes # Username/Password AuthUser=username AuthPass=password # Email 'From header's can override the default domain? FromLineOverride=yes
Change the file permissions of
/etc/ssmtp/ssmtp.conf because the password is printed in plain text (so that other users on your system cannot see your Gmail password).
chmod 640 /etc/ssmtp/ssmtp.conf
Change the config file group to mail to avoid "/etc/ssmtp/ssmtp.conf not found" error.
chown root:mail /etc/ssmtp/ssmtp.conf
Users who can send mail need to belong to "mail" group (must log out and log back in for changes to be used).
gpasswd -a mainuser mail
Create aliases for local usernames
To test whether the Gmail server will properly forward your email:
echo test | mail -v -s "testing ssmtp setup" email@example.com
If you receive the error
send-mail: Cannot open mailhub:25
be sure the user is a member of the "mail" group.
Change the 'From' text by editing
/etc/passwd to receive mail from 'root@myhostname' instead of just 'root'.
chfn -f root@myhostname root chfn -f mainuser@myhostname mainuser
grep myhostname /etc/passwd
An alternate method for sending emails is to create a text file and send it with 'ssmtp' or 'mail'
To:firstname.lastname@example.org From:email@example.com Subject: Test This is a test mail.
mail firstname.lastname@example.org < test-mail.txt