Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For receiving emails and hosting it is recommend to use a dedicated mail server. Non-profits or small businesses should consider the using Google Apps which is free.

Install Postfix

Postfix is free and open-source mail transfer agent (MTA) that routes and delivers electronic mail. It is intended as a fast, easier-to-administer, and secure alternative to the widely-used Sendmail MTA.

Code Block
languagebash
sudo apt-get install postfix

 

Configuring Postfix

 

You will be provided a command line UI to selection some options.

Please select the mail server configuration type that best meets your needs. = Internet Site

The "mail name" is the domain name used to "qualify" _ALL_ mail addresses without a domain name. = (leave default is fine)

At the end,

No Format
Postfix is now set up with a default configuration.  If you need to make changes, edit
/etc/postfix/main.cf (and others) as needed.  To view Postfix configuration
values, see postconf(1).

After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.

I then modified the main.cf to add my MX record for mydestination,

Code Block
# 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

# 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 = t01app
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = bonsaiframework.com, t01app, localhost.localdomain, , localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

When time available write up more on these options, ie how I setup my MX record on my domain server to use Google's email service.

Basics of Postfix

Default installations of Postfix stores all messages in an mbox file. To see what directory it is using use the command,

...

The newer maildir format is now recommened so follow the next section to change to maildir.

Setup Mail Delivery Account

The overall consensus is to use the maildir format with a mail directory being used for each user.

main.cf

Backup /etc/postfix/main.cf in case something goes wrong. All the subsequent commands modify main.cf,

...

Code Block
languagebash
sudo postconf -e "inet_interfaces = loopback-only" # receive no mail from the network, and do not deliver any mail locally

 

Reverse DNS

Warning

TBC - This should explain why we would want reverse dns.

Reverse DNS unless delegated is managed by the ISP provider. Generally this means whoever manages the IP address of your server.

Setup spf Records

Warning

TBC - This section should be filled out with a general discussion of what spf is for and how to configure within Rackspace or your registrar.

Test

Here is how to send a test email.

...

Tip

If you do not see your receive your test email, try looking in your spam folder.

References

https://help.ubuntu.com/10.04/serverguide/C/postfix.html - How to setup postfix

...