Postfix config for SES in Linux

Install the following:


  1.     apt-get install postfix

  2.     apt-get install mailutils

  3.     apt-get install telnet

Configure postfix as satellite system  

  1. Put hostname as <whatever-you-want>

  2. smtp relay host: [email-smtp.us-east-1.amazonaws.com]:587

  3. use the following /etc/postfix/main.cf file




root@ip-10-220-20-221:/etc/postfix# cat main.cf

-------------------------------------file starts below--------------------------------------------

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first

# line of that file to be used as the name.  The Debian default

# is /etc/mailname.

#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)

biff = no

# appending .domain is the MUA's job.

append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings

#delay_warning_time = 4h

readme_directory = no

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on

# fresh installs.

compatibility_level = 2

# TLS parameters

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

smtpd_use_tls=yes

smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache

smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for

# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination

myhostname = qa

alias_maps = hash:/etc/aliases

alias_database = hash:/etc/aliases

mydestination = qa, $myhostname, qa, localhost.ec2.internal, localhost

relayhost = [email-smtp.us-east-1.amazonaws.com]:587

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

mailbox_size_limit = 0

recipient_delimiter = +

inet_interfaces = loopback-only

inet_protocols = all

-----------------------------------file ends above-------------------------------------

  1. Change myhostname to whatever set during postfix installation

  2. mydestination = qa, $myhostname, <whatever name put during installation>, localhost.ec2.internal, localhost

  3. run below block

    1. ------------------------copy from below---------------------

      postconf -e "relayhost = [email-smtp.us-east-1.amazonaws.com]:587" \

      "smtp_sasl_auth_enable = yes" \

      "smtp_sasl_security_options = noanonymous" \

      "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd" \

      "smtp_use_tls = yes" \

      "smtp_tls_security_level = encrypt" \

      "smtp_tls_note_starttls_offer = yes"

      ----------------------------block ends above--------------------



  4. In a text editor, open the file /etc/postfix/sasl_passwd. If the file doesn't already exist, create it.

    1. Add 

      [email-smtp.us-east-1.amazonaws.com]:587 SMTP_USERNAME:SMTP_PASSWD

  5. postmap hash:/etc/postfix/sasl_passwd

  6. sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

  7. sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt'

  8. service postfix reload

  9. how to send email:

    1. type these 1 line at a time:

      sendmail -f destination_email source_email

      From: qa <source_email>

      Subject: Amazon SES Test                

      This message was sent using Amazon SES.                

      .





Previous
Previous

Check ElasticSearch Cluster Status

Next
Next

(LINUX)User Account Expiry