Mail server

From ArchWiki
(Redirected from SPF)
Jump to: navigation, search

A mail server or mail transfer agent (MTA) receives and sends emails via SMTP. Received and accepted emails are then passed to a mail delivery agent (MDA), which stores the mail in a mailbox (usually in mbox or Maildir format). If you want users to be able to remotely access their mail using email clients or mail retrieval agents, you need to run a POP3 and/or IMAP server.

Software Package MTA MDA POP3 IMAP SPF
Sendmail sendmailAUR Yes No No No through Milter
Exim exim Yes Yes No No experimental[1]
OpenSMTPD opensmtpd Yes Yes No No No
Postfix postfix Yes Yes No No Yes
Courier courier-mtaAUR Yes Yes Yes Yes Yes
Cyrus IMAP cyrus-imapdAUR Yes Yes Yes Yes  ?
Dovecot dovecot No Yes Yes Yes
UW IMAP imap No Yes Yes Yes
fdm fdm No Yes No No
Procmail procmail No Yes No No

See also Wikipedia:Comparison of e-mail servers.

MX record

If you want to receive mail, you need to set an MX record of your domain name to point to your mail server. Usually this is done from the configuration interface of your domain provider.

A mail exchanger record (MX record) is a type of resource record in the Domain Name System that specifies a mail server responsible for accepting email messages on behalf of a recipient's domain.

When an e-mail message is sent through the Internet, the sending mail transfer agent queries the Domain Name System for MX records of each recipient's domain name. This query returns a list of host names of mail exchange servers accepting incoming mail for that domain and their preferences. The sending agent then attempts to establish an SMTP connection to one of these servers, starting with the one with the smallest preference number, delivering the message to the first server with which a connection can be made.

Note: Some mail servers will not deliver mail to you if your MX record points to a CNAME. For best results, always point an MX record to an A record definition. For more information, see e.g. Wikipedia's List of DNS Record Types.

TLS

Warning: If you deploy TLS, be sure to follow Server-side TLS to prevent vulnerabilities.

To obtain a certificate, see OpenSSL#Certificates.

Authentication

There are various email authentication techniques.

Sender Policy Framework

From Wikipedia:

Sender Policy Framework (SPF) is an email validation protocol designed to detect and block email spoofing by providing a mechanism to allow receiving mail exchangers to verify that incoming mail from a domain comes from an IP Address authorized by that domain's administrators.

To allow other mail exchangers to validate mails apparently sent from your domain, you need to set a DNS TXT record as explained in the Wikipedia article. To validate incoming mail using SPF you need to configure your mail server to use a SPF implementation. There are several SPF implementations available, perl-mail-spf and perl-mail-spf-query can be found in the official repositories.

The following websites let you validate your SPF record:

Tip: SPF can even be helpful for domains not used to send email. Publishing a policy like v=spf1 -all makes any mail server enforcing SPF reject emails from your domain name, thus preventing misuse.

Sender Rewriting Scheme

The Sender Rewriting Scheme (SRS) is a secure scheme to allow forwardable bounces for server-side forwarded emails without breaking the Sender Policy Framework.

For Postfix, see Postfix#Sender Rewriting Scheme.

DKIM

DomainKeys Identified Mail (DKIM) is a domain-level email authentication method designed to detect email spoofing.

Available DKIM implementations are OpenDKIM and dkimproxy.

Testing websites

There are several handy web sites that can help you test DNS records, deliverability, and encryption support.

Tips and tricks

Most mail servers can be configured to strip users' IP addresses and user agents from outgoing mail.

Available extras that can usually be integrated are: