1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4
<!ENTITY % globalent SYSTEM "../../libs/global.ent">
6
<!ENTITY % gnome-menus-C SYSTEM "../../libs/gnome-menus-C.ent">
8
<!ENTITY % xinclude SYSTEM "../../libs/xinclude.mod">
10
<!ENTITY language "&EnglishAmerican;">
12
<chapter id="email-services" status="review">
13
<title>Email Services</title>
15
The process of getting an email from one person to another over a network or
16
the Internet involves many systems working together. Each of these systems
17
must be correctly configured for the process to work. The sender uses a <emphasis>Mail
18
User Agent</emphasis> (MUA), or email client, to send the message through one or more
19
<emphasis>Mail Transfer Agents</emphasis> (MTA), the last of which will hand it off to a <emphasis>Mail Delivery Agent</emphasis> (MDA) for delivery to the
20
recipient's mailbox, from which it
21
will be retrieved by the recipient's email client, usually via a POP3 or IMAP server.
23
<sect1 id="postfix" status="review">
24
<title>Postfix</title>
26
<application>Postfix</application> is the default Mail Transfer Agent (MTA) in Ubuntu. It
27
attempts to be fast and easy to administer and secure. It is
28
compatible with the MTA <application>sendmail</application>. This section explains how
29
to install and configure <application>postfix</application>. It also explains how to
30
set it up as an SMTP server using a secure connection (for sending emails securely).
35
This guide does not cover setting up Postfix <emphasis>Virtual Domains</emphasis>, for information
36
on Virtual Domains and other advanced configurations see <xref linkend="postfix-references"/>.
39
<sect2 id="postfix-installation" status="review">
40
<title>Installation</title>
42
To install <application>postfix</application> run the following command:
45
<command>sudo apt-get install postfix</command>
48
Simply press return when the installation process asks questions, the configuration will be done in greater detail in the next stage.
51
<sect2 id="postfix-configuration" status="review">
52
<title>Basic Configuration</title>
54
To configure <application>postfix</application>, run the following command:
57
<command>sudo dpkg-reconfigure postfix</command>
60
The user interface will be displayed. On each screen, select the following
62
<itemizedlist spacing="compact">
63
<listitem><para>Internet Site</para></listitem>
64
<listitem><para>mail.example.com</para></listitem>
65
<listitem><para>steve</para></listitem>
66
<listitem><para>mail.example.com, localhost.localdomain, localhost</para></listitem>
67
<listitem><para>No</para></listitem>
68
<listitem><para>127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24</para></listitem>
69
<listitem><para>0</para></listitem>
70
<listitem><para>+</para></listitem>
71
<listitem><para>all</para></listitem>
76
Replace mail.example.com with the domain for which you'll accept email, 192.168.0.0/24 with the actual network and class
77
range of your mail server, and steve with the appropriate username.
82
Now is a good time to decide which mailbox format you want to use. By default
83
Postfix will use <emphasis role="strong">mbox</emphasis> for the mailbox format.
84
Rather than editing the configuration file directly,
85
you can use the <command>postconf</command> command to configure
86
all <application>postfix</application> parameters. The
87
configuration parameters will be stored in
88
<filename>/etc/postfix/main.cf</filename> file. Later if you
89
wish to re-configure a particular parameter, you can either
90
run the command or change it manually in the file.
93
To configure the mailbox format for <emphasis role="strong">Maildir:</emphasis>
97
<command>sudo postconf -e 'home_mailbox = Maildir/'</command>
101
This will place new mail in /home/<emphasis role="italic">username</emphasis>/Maildir so
102
you will need to configure your Mail Delivery Agent (MDA) to use the same path.
107
<sect2 id="postfix-smtp-authentication" status="review">
108
<title>SMTP Authentication</title>
111
SMTP-AUTH allows a client to identify itself through an authentication mechanism (SASL).
112
Transport Layer Security (TLS) should be used to encrypt the authentication process.
113
Once authenticated the SMTP server will allow the client to relay mail.
118
Configure Postfix for SMTP-AUTH using SASL (Dovecot SASL):
121
sudo postconf -e 'smtpd_sasl_type = dovecot'
122
sudo postconf -e 'smtpd_sasl_path = private/auth-client'
123
sudo postconf -e 'smtpd_sasl_local_domain ='
124
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
125
sudo postconf -e 'broken_sasl_auth_clients = yes'
126
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
127
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
128
sudo postconf -e 'inet_interfaces = all'
132
The <emphasis>smtpd_sasl_path</emphasis> configuration is a path relative to the Postfix queue directory.
138
Next, obtain a digital certificate for TLS. See <xref linkend="certificates-and-security"/> for details.
139
This example also uses a Certificate Authority (CA). For information on generating a CA certificate see
140
<xref linkend="certificate-authority"/>.
144
You can get the digital certificate from a certificate
145
authority. But unlike web clients, SMTP clients rarely
147
"self-signed certificates", so alternatively, you
148
can create the certificate yourself. Refer to
149
<xref linkend="creating-a-self-signed-certificate"/> for more
156
Once you have a certificate, configure Postfix to provide TLS encryption for both incoming and outgoing mail:
159
sudo postconf -e 'smtpd_tls_auth_only = no'
160
sudo postconf -e 'smtp_tls_security_level = may'
161
sudo postconf -e 'smtpd_tls_security_level = may'
162
sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
163
sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/server.key'
164
sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt'
165
sudo postconf -e 'smtpd_tls_loglevel = 1'
166
sudo postconf -e 'smtpd_tls_received_header = yes'
167
sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
168
sudo postconf -e 'tls_random_source = dev:/dev/urandom'
169
sudo postconf -e 'myhostname = mail.example.com'
174
If you are using your own <emphasis>Certificate Authority</emphasis> to sign the certificate enter:
177
<command>sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'</command>
181
Again, for more details about certificates see <xref linkend="certificates-and-security"/>.
187
After running all the commands, <application>Postfix</application> is configured for SMTP-AUTH
188
and a self-signed certificate has been created for TLS encryption.
192
Now, the file <filename>/etc/postfix/main.cf</filename>
193
should look like <ulink url="../sample/postfix_configuration">this</ulink>.
196
The postfix initial configuration is complete. Run
197
the following command to restart the postfix daemon:
201
<command>sudo /etc/init.d/postfix restart</command>
205
<application>Postfix</application> supports SMTP-AUTH as defined in
207
url="http://www.ietf.org/rfc/rfc2554.txt">RFC2554</ulink>.
208
It is based on <ulink
209
url="http://www.ietf.org/rfc/rfc2222.txt">SASL</ulink>. However it is still necessary
210
to set up SASL authentication before you can use SMTP-AUTH.
213
<sect2 id="postfix-sasl" status="review">
214
<title>Configuring SASL</title>
216
Postfix supports two SASL implementations Cyrus SASL and Dovecot SASL. To enable Dovecot SASL
217
the <application>dovecot-common</application> package will need to be installed. From a terminal prompt
221
<command>sudo apt-get install dovecot-common</command>
224
Next you will need to edit <filename>/etc/dovecot/dovecot.conf</filename>. In the <emphasis>auth default</emphasis>
225
section uncomment the <emphasis>socket listen</emphasis> option and change the following:
230
# Master socket provides access to userdb information. It's typically
231
# used to give Dovecot's local delivery agent access to userdb so it
232
# can find mailbox locations.
233
#path = /var/run/dovecot/auth-master
235
# Default user/group is the one who started dovecot-auth (root)
240
# The client socket is generally safe to export to everyone. Typical use
241
# is to export it to your SMTP server so it can do SMTP AUTH lookups
243
path = /var/spool/postfix/private/auth-client
252
In order to let <application>Outlook</application> clients use SMTP-AUTH, in the <emphasis>auth default</emphasis>
253
section of /etc/dovecot/dovecot.conf add <emphasis>"login"</emphasis>:
257
mechanisms = plain login
261
Once you have <application>Dovecot</application> configured restart it with:
264
<command>sudo /etc/init.d/dovecot restart</command>
268
<sect2 id="postfix-dovecot" status="review">
269
<title>Postfix-Dovecot</title>
272
Another option for configuring <application>Postfix</application> for SMTP-AUTH is using the
273
<application>dovecot-postfix</application> package. This package will install
274
<application>Dovecot</application> and configure <application>Postfix</application> to use it
275
for both SASL authentication and as a Mail Delivery Agent (MDA). The package also configures
276
<application>Dovecot</application> for IMAP, IMAPS, POP3, and POP3S.
281
You may or may not want to run IMAP, IMAPS, POP3, or POP3S on your mail server. For example,
282
if you are configuring your server to be a mail gateway, spam/virus filter, etc. If this is
283
the case it may be easier to use the above commands to configure Postfix for SMTP-AUTH.
288
To install the package, from a terminal prompt enter:
292
<command>sudo apt-get install dovecot-postfix</command>
296
You should now have a working mail server, but there are a few options that you may wish to further customize. For example, the
297
package uses the certificate and key from the <application>ssl-cert</application> package, and in a production environment you should
298
use a certificate and key generated for the host. See <xref linkend="certificates-and-security"/> for more details.
302
Once you have a customized certificate and key for the host, change the following options in <filename>/etc/postfix/main.cf</filename>:
306
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem
307
smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
311
Then restart Postfix:
315
<command>sudo /etc/init.d/postfix restart</command>
319
<sect2 id="postfix-testing" status="review">
320
<title>Testing</title>
322
SMTP-AUTH configuration is complete. Now it is time to test the setup.
325
To see if SMTP-AUTH and TLS work properly, run the following
329
<command>telnet mail.example.com 25</command>
332
After you have established the connection to the postfix mail
336
ehlo mail.example.com
339
If you see the following lines among others, then everything
340
is working perfectly. Type <command>quit</command> to exit.
350
<sect2 id="postfix-troubleshooting">
351
<title>Troubleshooting</title>
353
This section introduces some common ways to determine the cause if problems arise.
355
<sect3 id="postfix-chroot">
356
<title>Escaping chroot</title>
358
The Ubuntu <application>postfix</application> package will by default install into a <emphasis>chroot</emphasis>
359
environment for security reasons. This can add greater complexity when troubleshooting problems.
362
To turn off the chroot operation locate for the following line in the
363
<filename>/etc/postfix/master.cf</filename> configuration file:
366
smtp inet n - - - - smtpd
369
and modify it as follows:
372
smtp inet n - n - - smtpd
375
You will then need to restart Postfix to use the new configuration. From a terminal prompt enter:
378
<command>sudo /etc/init.d/postfix restart</command>
381
<sect3 id="postfix-logs">
382
<title>Log Files</title>
384
<application>Postfix</application> sends all log messages to <filename>/var/log/mail.log</filename>.
385
However error and warning messages can sometimes get lost in the normal log output so they are also logged to
386
<filename>/var/log/mail.err</filename> and <filename>/var/log/mail.warn</filename> respectively.
389
To see messages entered into the logs in real time you can use the <application>tail -f</application>
393
<command>tail -f /var/log/mail.err</command>
396
The amount of detail that is recorded in the logs can be increased. Below are some configuration options for increasing the log level
397
for some of the areas covered above.
399
<itemizedlist spacing="compact">
402
To increase <emphasis>TLS</emphasis> activity logging set the <emphasis>smtpd_tls_loglevel</emphasis> option to a value from 1 to 4.
405
<command>sudo postconf -e 'smtpd_tls_loglevel = 4'</command>
410
If you are having trouble sending or receiving mail from a specific domain you can add the domain to the <emphasis>debug_peer_list</emphasis>
414
<command>sudo postconf -e 'debug_peer_list = problem.domain'</command>
419
You can increase the verbosity of any <application>Postfix</application> daemon process by editing the <filename>/etc/postfix/master.cf</filename>
420
and adding a <emphasis>-v</emphasis> after the entry. For example edit the <emphasis>smtp</emphasis> entry:
423
smtp unix - - - - - smtp -v
429
It is important to note that after making one of the logging changes above the <application>Postfix</application> process will need to be reloaded
430
in order to recognize the new configuration: <command>sudo /etc/init.d/postfix reload</command>
433
<itemizedlist spacing="compact">
436
To increase the amount of information logged when troubleshooting <emphasis>SASL</emphasis> issues you can set the following options in
437
<filename>/etc/dovecot/dovecot.conf</filename>
441
auth_debug_passwords=yes
447
Just like <application>Postfix</application> if you change a <application>Dovecot</application> configuration the process will need to be
448
reloaded: <command>sudo /etc/init.d/dovecot reload</command>.
453
Some of the options above can drastically increase the amount of information sent to the log files. Remember to return the log level
454
back to normal after you have corrected the problem. Then reload the appropriate daemon for the new configuration to take affect.
458
<sect3 id="postfix-references" status="review">
459
<title>References</title>
461
Administering a <application>Postfix</application> server can be a very complicated task. At some point you may
462
need to turn to the Ubuntu community for more experienced help.
465
A great place to ask for <application>Postfix</application> assistance, and get involved with the Ubuntu Server community,
466
is the <emphasis>#ubuntu-server</emphasis> IRC channel on <ulink url="http://freenode.net">freenode</ulink>. You
467
can also post a message to one of the <ulink url="http://www.ubuntu.com/support/community/webforums">Web Forums</ulink>.
470
For in depth <application>Postfix</application> information Ubuntu developers highly recommend:
471
<ulink url="http://www.postfix-book.com/">The Book of Postfix</ulink>.
474
Finally, the <ulink url="http://www.postfix.org/documentation.html">Postfix</ulink> website also has great documentation on all
475
the different configuration options available.
478
Also, the <ulink url="https://help.ubuntu.com/community/Postfix">Ubuntu Wiki Postifx</ulink> page has more information.
484
<sect1 id="exim4" status="review">
487
<application>Exim4</application> is another Message Transfer
488
Agent (MTA) developed at the University of Cambridge for use
489
on Unix systems connected to the Internet. Exim can be
490
installed in place of <application>sendmail</application>,
491
although the configuration of
492
<application>exim</application> is quite different to
493
that of <application>sendmail</application>.
495
<sect2 id="exim4-installation" status="review">
496
<title>Installation</title>
498
To install <application>exim4</application>, run the following command:
500
<command>sudo apt-get install exim4</command>
504
<sect2 id="exim4-configuration" status="review">
505
<title>Configuration</title>
507
To configure <application>Exim4</application>, run the following command:
510
<command>sudo dpkg-reconfigure exim4-config</command>
513
The user interface will be displayed. The user interface
514
lets you configure many parameters. For example, In
515
<application>Exim4</application> the configuration files are
516
split among multiple files. If you wish to have them in one
517
file you can configure accordingly in this user interface.
521
All the parameters you configure in the user interface are
523
<filename>/etc/exim4/update-exim4.conf.conf</filename> file.
524
If you wish to re-configure, either you re-run the
525
configuration wizard or manually edit this file
526
using your favorite editor. Once you configure, you can run
527
the following command to generate the master configuration
531
<command>sudo update-exim4.conf</command>
534
The master configuration file, is generated and
536
<filename>/var/lib/exim4/config.autogenerated</filename>.
540
At any time, you should not edit the master configuration
542
<filename>/var/lib/exim4/config.autogenerated</filename>
543
manually. It is updated automatically every time you run
544
<command>update-exim4.conf</command>
548
You can run the following command to start
549
<application>Exim4</application> daemon.
552
<command>sudo /etc/init.d/exim4 start</command>
555
<sect2 id="exim4-smtp-auth" status="review">
556
<title>SMTP Authentication</title>
558
This section covers configuring Exim4 to use SMTP-AUTH with TLS and SASL.
561
The first step is to create a certificate for use with TLS. Enter the following into a terminal prompt:
564
<command>sudo /usr/share/doc/exim4-base/examples/exim-gencert</command>
567
Now Exim4 needs to be configured for TLS by editing <filename>/etc/exim4/conf.d/main/03_exim4-config_tlsoptions</filename>
571
MAIN_TLS_ENABLE = yes
574
Next you need to configure <application>Exim4</application> to use the <application>saslauthd</application>
575
for authentication. Edit <filename>/etc/exim4/conf.d/auth/30_exim4-config_examples</filename> and uncomment
576
the <emphasis>plain_saslauthd_server</emphasis> and <emphasis>login_saslauthd_server</emphasis> sections:
579
plain_saslauthd_server:
582
server_condition = ${if saslauthd{{$auth2}{$auth3}}{1}{0}}
583
server_set_id = $auth2
585
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
586
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
589
login_saslauthd_server:
592
server_prompts = "Username:: : Password::"
593
# don't send system passwords over unencrypted connections
594
server_condition = ${if saslauthd{{$auth1}{$auth2}}{1}{0}}
595
server_set_id = $auth1
596
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
597
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
601
Finally, update the Exim4 configuration and restart the service:
604
<command>sudo update-exim4.conf</command>
605
<command>sudo /etc/init.d/exim4 restart</command>
608
<sect2 id="exim4-sasl" status="review">
609
<title>Configuring SASL</title>
611
This section provides details on configuring the saslauthd to provide authentication for <application>Exim4</application>.
614
The first step is to install the sasl2-bin package. From a terminal prompt enter the following:
617
<command>sudo apt-get install sasl2-bin</command>
620
To configure saslauthd edit the /etc/default/saslauthd configuration file and set START=no to:
626
Next the <emphasis>Debian-exim</emphasis> user needs to be part of the <emphasis>sasl</emphasis> group in
627
order for Exim4 to use the saslauthd service:
630
<command>sudo adduser Debian-exim sasl</command>
633
Now start the <application>saslauthd</application> service:
636
<command>sudo /etc/init.d/saslauthd start</command>
639
<application>Exim4</application> is now configured with SMTP-AUTH using TLS and SASL authentication.
642
<sect2 id="exim4-references" status="review">
643
<title>References</title>
648
See <ulink url="http://www.exim.org/">exim.org</ulink> for more information.
653
There is also an <ulink url="http://www.uit.co.uk/content/exim-smtp-mail-server">Exim4 Book</ulink> available.
658
Another resource is the <ulink url="https://help.ubuntu.com/community/Exim4">Exim4 Ubuntu Wiki </ulink> page.
665
<sect1 id="dovecot-server" status="review">
666
<title>Dovecot Server</title>
668
<application>Dovecot</application> is a Mail Delivery Agent, written with security
669
primarily in mind. It supports the major mailbox formats: mbox
670
or Maildir. This section explain how to set it up as an imap or
673
<sect2 id="dovecot-installation" status="review">
674
<title>Installation</title>
676
To install <application>dovecot</application>, run the following command in the
680
<command>sudo apt-get install dovecot-imapd dovecot-pop3d</command>
683
<sect2 id="dovecot-configuration" status="review">
684
<title>Configuration</title>
686
To configure <application>dovecot</application>, you can edit the file
687
<filename>/etc/dovecot/dovecot.conf</filename>. You can
688
choose the protocol you use. It could be pop3, pop3s (pop3
689
secure), imap and imaps (imap secure). A description of these protocols is beyond the scope of this guide. For further information, refer to the Wikipedia articles on <ulink
690
url="http://en.wikipedia.org/wiki/POP3">POP3</ulink> and
692
url="http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol">IMAP</ulink>.
696
IMAPS and POP3S are more secure that the simple IMAP and
697
POP3 because they use SSL encryption to connect. Once you
698
have chosen the protocol, amend the following line in the file
699
<filename>/etc/dovecot/dovecot.conf</filename>:
702
protocols = pop3 pop3s imap imaps
705
Next, choose the mailbox you would like to use. <application>Dovecot</application> supports
706
<emphasis role="strong">maildir</emphasis> and <emphasis
707
role="strong">mbox</emphasis> formats. These are the most
708
commonly used mailbox formats. They both have their own
709
benefits and are discussed on <ulink
710
url="http://wiki.dovecot.org/MailboxFormat">the Dovecot web site</ulink>.
713
Once you have chosen your mailbox type, edit the file
714
<filename>/etc/dovecot/dovecot.conf</filename> and change
718
mail_location = maildir:~/Maildir # (for maildir)
720
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u # (for mbox)
724
You should configure your Mail Transport Agent (MTA) to transfer the
725
incoming mail to this type of mailbox if it is different from the one
730
Once you have configured dovecot, restart the <application>dovecot</application> daemon
731
in order to test your setup:
735
<command>sudo /etc/init.d/dovecot restart</command>
739
If you have enabled imap, or pop3, you can also try to log in
740
with the commands <command>telnet localhost pop3</command> or
741
<command>telnet localhost imap2</command>. If you see
742
something like the following, the installation has been
746
bhuvan@rainbow:~$ telnet localhost pop3
748
Connected to localhost.localdomain.
749
Escape character is '^]'.
753
<sect2 id="dovecot-ssl" status="review">
754
<title>Dovecot SSL Configuration</title>
756
To configure <application>dovecot</application> to use SSL, you can edit the file
757
<filename>/etc/dovecot/dovecot.conf</filename> and amend
761
ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
762
ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
764
disable_plaintext_auth = no
767
You can get the SSL certificate from a Certificate Issuing
768
Authority or you can create self signed SSL certificate.
769
The latter is a good option for email, because SMTP clients rarely
770
complain about "self-signed certificates".
772
refer to <xref linkend="certificates-and-security"/>
773
for details about how to create self signed SSL certificate. Once
774
you create the certificate, you will have a key file and a
775
certificate file. Please copy them to the location pointed
776
in the <filename>/etc/dovecot/dovecot.conf</filename>
781
<title>Firewall Configuration for an Email Server</title>
783
To access your mail server from another computer, you must
784
configure your firewall to allow connections to the server on
787
<listitem><para>IMAP - 143</para></listitem>
788
<listitem><para>IMAPS - 993</para></listitem>
789
<listitem><para>POP3 - 110</para></listitem>
790
<listitem><para>POP3S - 995</para></listitem>
794
<sect2 id="dovecot-references" status="review">
795
<title>References</title>
800
See the <ulink url="http://www.dovecot.org/">Dovecot website</ulink> for more information.
805
Also, the <ulink url="https://help.ubuntu.com/community/Dovecot">Dovecot Ubuntu Wiki</ulink> page has more details.
812
<sect1 id="mailman" status="review">
813
<title>Mailman</title>
815
Mailman is an open source program for managing electronic mail
816
discussions and e-newsletter lists. Many open source mailing
817
lists (including all the <ulink
818
url="http://lists.ubuntu.com">Ubuntu mailing lists</ulink>) use
819
Mailman as their mailing list software. It is powerful and easy
820
to install and maintain.
822
<sect2 id="mailman-installation" status="review">
823
<title>Installation</title>
825
Mailman provides a web interface for the administrators and users,
826
using an external mail server to send and receive emails. It works
827
perfectly with the following mail servers:
830
<itemizedlist spacing="compact">
832
<para><application>Postfix</application></para>
835
<para><application>Exim</application></para>
838
<para><application>Sendmail</application></para>
841
<para><application>Qmail</application></para>
847
We will see how to install and configure Mailman with, the Apache web server,
848
and either the Postfix or Exim mail server. If you wish to install Mailman
849
with a different mail server, please refer to the references
854
You only need to install one mail server and <application>Postfix</application> is the default Ubuntu Mail Transfer Agent.
857
<sect3 id="mailman-apache2">
858
<title>Apache2</title>
860
To install apache2 you refer to <xref linkend="http-installation"/> for details.
863
<sect3 id="mailman-postfix">
864
<title>Postfix</title>
866
For instructions on installing and configuring Postfix refer to <xref linkend="postfix"/>
869
<sect3 id="mailman-exim4">
872
To install Exim4 refer to <xref linkend="exim4"/>.
875
Once exim4 is installed, the configuration files are stored in
876
the <filename>/etc/exim4</filename> directory. In Ubuntu, by default, the exim4 configuration files are
877
split across different files. You can change this behavior by changing
878
the following variable in the <filename>/etc/exim4/update-exim4.conf</filename> file:
882
dc_use_split_config='true'
887
<sect3 id="mailman-mailman">
888
<title>Mailman</title>
890
To install <application>Mailman</application>, run following command at a terminal prompt:
893
<command>sudo apt-get install mailman</command>
896
It copies the installation files in
897
<application>/var/lib/mailman</application> directory. It installs the
898
CGI scripts in <application>/usr/lib/cgi-bin/mailman</application>
899
directory. It creates <emphasis>list</emphasis> linux
900
user. It creates the <emphasis>list</emphasis> linux
901
group. The mailman process will be owned by this user.
905
<sect2 id="mailman-configuration" status="review">
906
<title>Configuration</title>
908
This section assumes you have successfully installed
909
<application>mailman</application>,
910
<application>apache2</application>, and
911
<application>postfix</application> or <application>exim4</application>. Now you just need
914
<sect3 id="mailman-conf-apache2">
915
<title>Apache2</title>
917
An example Apache configuration file comes with <application>Mailman</application> and is placed
918
in <filename>/etc/mailman/apache.conf</filename>. In order for Apache to use the config file it needs
919
to be copied to <filename>/etc/apache2/sites-available</filename>:
922
<command>sudo cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf</command>
925
This will setup a new Apache <emphasis>VirtualHost</emphasis> for the Mailman administration site.
926
Now enable the new configuration and restart Apache:
929
<command>sudo a2ensite mailman.conf</command>
930
<command>sudo /etc/init.d/apache2 restart</command>
933
Mailman uses apache2 to render its CGI scripts. The mailman CGI scripts
934
are installed in the <application>/usr/lib/cgi-bin/mailman</application>
935
directory. So, the mailman url will be
936
http://hostname/cgi-bin/mailman/. You can make changes to the
937
<filename>/etc/apache2/sites-available/mailman.conf</filename> file if you wish to
938
change this behavior.
941
<sect3 id="mailman-conf-postfix" status="review">
942
<title>Postfix</title>
944
For <application>Postfix</application> integration, we will associate the domain lists.example.com with the mailing lists.
945
Please replace <emphasis>lists.example.com</emphasis> with the domain of your choosing.
948
You can use the postconf command to add the necessary configuration to <filename>/etc/postfix/main.cf</filename>:
951
<command>sudo postconf -e 'relay_domains = lists.example.com'</command>
952
<command>sudo postconf -e 'transport_maps = hash:/etc/postfix/transport'</command>
953
<command>sudo postconf -e 'mailman_destination_recipient_limit = 1'</command>
956
In <filename>/etc/postfix/master.cf</filename> double check that you have the following transport:
959
mailman unix - n n - - pipe
960
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
964
It calls the <emphasis>postfix-to-mailman.py</emphasis> script when a mail is delivered to a list.
967
Associate the domain lists.example.com to the Mailman transport with the transport map. Edit the file <filename>/etc/postfix/transport</filename>:
970
lists.example.com mailman:
973
Now have <application>Postfix</application> build the transport map by entering the following from a terminal prompt:
976
<command>sudo postmap -v /etc/postfix/transport</command>
979
Then restart Postfix to enable the new configurations:
982
<command>sudo /etc/init.d/postfix restart</command>
985
<sect3 id="mailman-conf-exim4">
988
Once Exim4 is installed, you can start the Exim server using the following
989
command from a terminal prompt:
992
<command>sudo /etc/init.d/exim4 start</command>
995
In order to make mailman work with Exim4, you need to configure Exim4.
996
As mentioned earlier, by default, Exim4 uses multiple configuration
997
files of different types. For details, please refer to the <ulink
998
url="http://www.exim.org">Exim</ulink> web site. To run mailman, we
999
should add new a configuration file to the following configuration
1001
<itemizedlist spacing="compact">
1006
<para>Transport</para>
1012
Exim creates a master configuration file by sorting all
1013
these mini configuration files. So, the order of these
1014
configuration files is very important.
1017
<sect3 id="mailman-conf-main">
1020
All the configuration files belonging to the main type are
1022
<filename>/etc/exim4/conf.d/main/</filename> directory. You can add
1023
the following content to a new file, named <filename>04_exim4-config_mailman</filename>:
1027
# Home dir for your Mailman installation -- aka Mailman's prefix
1029
# On Ubuntu this should be "/var/lib/mailman"
1030
# This is normally the same as ~mailman
1031
MM_HOME=/var/lib/mailman
1033
# User and group for Mailman, should match your --with-mail-gid
1034
# switch to Mailman's configure script. Value is normally "mailman"
1038
# Domains that your lists are in - colon separated list
1039
# you may wish to add these into local_domains as well
1040
domainlist mm_domains=hostname.com
1042
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1044
# These values are derived from the ones above and should not need
1045
# editing unless you have munged your mailman installation
1047
# The path of the Mailman mail wrapper script
1048
MM_WRAP=MM_HOME/mail/mailman
1050
# The path of the list config file (used as a required file when
1051
# verifying list addresses)
1052
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
1057
<sect3 id="mailman-conf-transport">
1058
<title>Transport</title>
1060
All the configuration files belonging to transport type are stored in
1061
the <filename>/etc/exim4/conf.d/transport/</filename> directory. You
1062
can add the following content to a new file named <filename>
1063
40_exim4-config_mailman</filename>:
1069
'${if def:local_part_suffix \
1070
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
1073
current_directory = MM_HOME
1074
home_directory = MM_HOME
1080
<sect3 id="mailman-conf-router">
1081
<title>Router</title>
1083
All the configuration files belonging to router type are stored in the
1084
<filename>/etc/exim4/conf.d/router/</filename> directory. You can add the following content
1085
in to a new file named <filename>101_exim4-config_mailman</filename>:
1089
require_files = MM_HOME/lists/$local_part/config.pck
1090
local_part_suffix_optional
1091
local_part_suffix = -bounces : -bounces+* : \
1092
-confirm+* : -join : -leave : \
1093
-owner : -request : -admin
1094
transport = mailman_transport
1100
The order of main and transport configuration files can be in any order.
1101
But, the order of router configuration files must be the same.
1102
This particular file must appear before the
1103
<application>200_exim4-config_primary</application> file.
1104
These two configuration files contain same type of information. The
1105
first file takes the precedence. For more details, please refer to the
1110
<sect3 id="mailman-conf-mailman">
1111
<title>Mailman</title>
1113
Once mailman is installed, you can run it using the following command:
1116
<command>sudo /etc/init.d/mailman start</command>
1119
Once mailman is installed, you should create the default mailing list.
1120
Run the following command to create the mailing list:
1124
<command>sudo /usr/sbin/newlist mailman</command>
1128
Enter the email address of the person running the list: bhuvan at ubuntu.com
1129
Initial mailman password:
1130
To finish creating your mailing list, you must edit your <filename>/etc/aliases</filename> (or
1131
equivalent) file by adding the following lines, and possibly running the
1132
`newaliases' program:
1134
## mailman mailing list
1135
mailman: "|/var/lib/mailman/mail/mailman post mailman"
1136
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
1137
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
1138
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
1139
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
1140
mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
1141
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
1142
mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
1143
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
1144
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
1146
Hit enter to notify mailman owner...
1151
We have configured either Postfix or Exim4 to recognize all emails from mailman. So, it is
1152
not mandatory to make any new entries in
1153
<filename>/etc/aliases</filename>. If you have made any changes
1154
to the configuration files, please ensure that you restart those
1155
services before continuing to next section.
1159
The Exim4 does not use the above aliases to forward mails to
1160
Mailman, as it uses a <emphasis>discover</emphasis> approach. To
1161
suppress the aliases while creating the list, you can add
1162
<emphasis>MTA=None</emphasis> line in Mailman configuration
1163
file, <filename>/etc/mailman/mm_cfg.py</filename>.
1168
<sect2 id="mailman-admin" status="review">
1169
<title>Administration</title>
1171
We assume you have a default installation. The
1172
mailman cgi scripts are still in the
1173
<application>/usr/lib/cgi-bin/mailman/</application> directory. Mailman
1174
provides a web based administration facility. To access this page, point
1175
your browser to the following url:
1179
http://hostname/cgi-bin/mailman/admin
1183
The default mailing list, <emphasis>mailman</emphasis>,
1184
will appear in this screen. If you click the mailing list name, it
1185
will ask for your authentication password. If you enter the correct
1186
password, you will be able to change administrative settings of this
1189
You can create a new mailing list using the command line utility
1190
(<command>/usr/sbin/newlist</command>).
1191
Alternatively, you can create a new mailing list using the web interface.
1194
<sect2 id="mailman-users" status="review">
1195
<title>Users</title>
1197
Mailman provides a web based interface for users. To access this page,
1198
point your browser to the following url:
1202
http://hostname/cgi-bin/mailman/listinfo
1206
The default mailing list, <emphasis>mailman</emphasis>,
1207
will appear in this screen. If you
1208
click the mailing list name, it will display the subscription form. You
1209
can enter your email address, name (optional), and password to subscribe.
1210
An email invitation will be sent to you. You can follow the
1211
instructions in the email to subscribe.
1214
<sect2 id="mailman-references" status="review">
1215
<title>References</title>
1217
<ulink url="http://www.list.org/mailman-install/index.html"> GNU Mailman
1218
- Installation Manual</ulink>
1221
<ulink url="http://www.exim.org/howto/mailman21.html">HOWTO - Using Exim
1222
4 and Mailman 2.1 together</ulink>
1225
Also, see the <ulink url="https://help.ubuntu.com/community/Mailman">Mailman Ubuntu Wiki</ulink> page.
1229
<sect1 id="mail-filtering" status="review">
1230
<title>Mail Filtering</title>
1232
One of the largest issues with email today is the problem of Unsolicited Bulk Email (UBE).
1233
Also known as SPAM, such messages may also carry viruses and other forms of malware.
1234
According to some reports these messages make up the bulk of all email traffic on the Internet.
1237
This section will cover integrating <application>Amavisd-new</application>,
1238
<application>Spamassassin</application>, and <application>ClamAV</application> with the
1239
<application>Postfix</application> Mail Transport Agent (MTA). <application>Postfix</application> can also
1240
check email validity by passing it through external content filters. These filters can sometimes determine if
1241
a message is spam without needing to process it with more resource intensive applications. Two common filters are
1242
<application>opendkim</application> and <application>python-policyd-spf</application>.
1247
<application>Amavisd-new</application> is a wrapper program that can call any number of content filtering programs
1248
for spam detection, antivirus, etc.
1253
<application>Spamassassin</application> uses a variety of mechanisms to filter email based on the message content.
1258
<application>ClamAV</application> is an open source antivirus application.
1263
<application>opendkim</application> implements a Sendmail Mail Filter (Milter) for the DomainKeys
1264
Identified Mail (DKIM) standard.
1269
<application>python-policyd-spf</application> enables Sender Policy Framework (SPF) checking with <application>Postfix</application>.
1274
This is how the pieces fit together:
1279
An email message is accepted by <application>Postfix</application>.
1284
The message is passed through any external filters <application>opendkim</application> and
1285
<application>python-policyd-spf</application> in this case.
1290
<application>Amavisd-new</application> then processes the message.
1295
<application>ClamAV</application> is used to scan the message. If the message contains a virus
1296
<application>Postfix</application> will reject the message.
1301
Clean messages will then be analyzed by <application>Spamassassin</application> to find out if the message is spam.
1302
<application>Spamassassin</application> will then add X-Header lines allowing
1303
<application>Amavisd-new</application> to further manipulate the message.
1308
For example, if a message has a Spam score of over fifty the message could be automatically dropped from
1309
the queue without the recipient ever having to be bothered. Another, way to handle flagged messages is to deliver
1310
them to the Mail User Agent (MUA) allowing the user to deal with the message as they see fit.
1312
<sect2 id="mail-filter-installation" status="review">
1313
<title>Installation</title>
1315
See <xref linkend="postfix"/> for instructions on installing and configuring Postfix.
1318
To install the rest of the applications enter the following from a terminal prompt:
1321
<command>sudo apt-get install amavisd-new spamassassin clamav-daemon</command>
1322
<command>sudo apt-get install opendkim python-policyd-spf</command>
1325
There are some optional packages that integrate with <application>Spamassassin</application> for better spam detection:
1328
<command>sudo apt-get install pyzor razor</command>
1331
Along with the main filtering applications compression utilities are needed to process some email attachments:
1334
<command>sudo apt-get install arj cabextract cpio lha nomarch pax rar unrar unzip zip</command>
1337
<para>If some packages are not found, check that the <emphasis>multiverse</emphasis> repository is enabled in <filename>/etc/apt/sources.list</filename></para>
1338
<para>If you make changes to the file, be sure to run <command>sudo apt-get update</command> before trying to install again.</para>
1341
<sect2 id="mail-filter-configuration" status="review">
1342
<title>Configuration</title>
1344
Now configure everything to work together and filter email.
1346
<sect3 id="clamav-configuration" status="review">
1347
<title>ClamAV</title>
1349
The default behaviour of <application>ClamAV</application> will fit our needs.
1350
For more ClamAV configuration options, check the configuration files in
1351
<filename>/etc/clamav</filename>.
1354
Add the <emphasis>clamav</emphasis> user to the <emphasis>amavis</emphasis> group in order for <application>Amavisd-new</application>
1355
to have the appropriate access to scan files:
1358
<command>sudo adduser clamav amavis</command>
1361
<sect3 id="spamassassin-configuration" status="review">
1362
<title>Spamassassin</title>
1364
Spamassassin automatically detects optional components and will use them if they are present. This means that there is no need to
1365
configure <application>pyzor</application> and <application>razor</application>.
1368
Edit <filename>/etc/default/spamassassin</filename> to activate the <application>Spamassassin</application> daemon.
1369
Change <emphasis>ENABLED=0</emphasis> to:
1375
Now start the daemon:
1378
<command>sudo /etc/init.d/spamassassin start</command>
1381
<sect3 id="amavisd-new-configuration" status="review">
1382
<title>Amavisd-new</title>
1384
First activate spam and antivirus detection in <application>Amavisd-new</application> by editing
1385
<filename>/etc/amavis/conf.d/15-content_filter_mode</filename>:
1390
# You can modify this file to re-enable SPAM checking through spamassassin
1391
# and to re-enable antivirus checking.
1394
# Default antivirus checking mode
1395
# Uncomment the two lines below to enable it
1398
@bypass_virus_checks_maps = (
1399
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
1403
# Default SPAM checking mode
1404
# Uncomment the two lines below to enable it
1407
@bypass_spam_checks_maps = (
1408
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
1410
1; # insure a defined return
1413
Bouncing spam can be a bad idea as the return address is often faked. Consider editing
1414
<filename>/etc/amavis/conf.d/20-debian_defaults</filename> to set <emphasis>$final_spam_destiny</emphasis> to D_DISCARD
1415
rather than D_BOUNCE, as follows:
1419
$final_spam_destiny = D_DISCARD;
1423
Additionally, you may want to adjust the following options to flag more messages as spam:
1427
$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
1428
$sa_tag2_level_deflt = 6.0; # add 'spam detected' headers at that level
1429
$sa_kill_level_deflt = 21.0; # triggers spam evasive actions
1430
$sa_dsn_cutoff_level = 4; # spam level beyond which a DSN is not sent
1434
If the server's <emphasis>hostname</emphasis> is different from the domain's MX record you may need to manually set
1435
the <emphasis>$myhostname</emphasis> option. Also, if the server receives mail for multiple domains the
1436
<emphasis>@local_domains_acl</emphasis> option will need to be customized. Edit the
1437
<filename>/etc/amavis/conf.d/50-user</filename> file:
1441
$myhostname = 'mail.example.com';
1442
@local_domains_acl = ( "example.com", "example.org" );
1446
After configuration <application>Amavisd-new</application> needs to be restarted:
1449
<command>sudo /etc/init.d/amavis restart</command>
1451
<sect4 id="amavis-dkim-whitelist" status="review">
1452
<title>DKIM Whitelist</title>
1455
<application>Amavisd-new</application> can be configured to automatically <emphasis>Whitelist</emphasis>
1456
addresses from domains with valid Domain Keys. There are some pre-configured domains in the
1457
<filename>/etc/amavis/conf.d/40-policy_banks</filename>.
1461
There are multiple ways to configure the Whitelist for a domain:
1467
<emphasis>'example.com' => 'WHITELIST',</emphasis>: will whitelist any address from the "example.com" domain.
1472
<emphasis>'.example.com' => 'WHITELIST',</emphasis>: will whitelist any address from any <emphasis>subdomains</emphasis>
1473
of "example.com" that have a valid signature.
1478
<emphasis>'.example.com/@example.com' => 'WHITELIST',</emphasis>: will whitelist subdomains of "example.com" that use the
1479
signature of <emphasis role="italic">example.com</emphasis> the parent domain.
1484
<emphasis>'./@example.com' => 'WHITELIST',</emphasis>: adds addresses that have a valid signature from "example.com".
1485
This is usually used for discussion groups that sign their messages.
1491
A domain can also have multiple Whitelist configurations.
1492
After editing the file, restart <application>amavisd-new</application>:
1496
<command>sudo /etc/init.d/amavis restart</command>
1501
In this context, once a domain has been added to the Whitelist the message will not receive any anti-virus or spam filtering.
1502
This may or may not be the intended behavior you wish for a domain.
1508
<sect3 id="postfix-mail-filtering-configuration" status="review">
1509
<title>Postfix</title>
1511
For <application>Postfix</application> integration, enter the following from a terminal prompt:
1514
<command>sudo postconf -e 'content_filter = smtp-amavis:[127.0.0.1]:10024'</command>
1517
Next edit <filename>/etc/postfix/master.cf</filename> and add the following to the end of the file:
1520
smtp-amavis unix - - - - 2 smtp
1521
-o smtp_data_done_timeout=1200
1522
-o smtp_send_xforward_command=yes
1523
-o disable_dns_lookups=yes
1526
127.0.0.1:10025 inet n - - - - smtpd
1528
-o local_recipient_maps=
1529
-o relay_recipient_maps=
1530
-o smtpd_restriction_classes=
1531
-o smtpd_delay_reject=no
1532
-o smtpd_client_restrictions=permit_mynetworks,reject
1533
-o smtpd_helo_restrictions=
1534
-o smtpd_sender_restrictions=
1535
-o smtpd_recipient_restrictions=permit_mynetworks,reject
1536
-o smtpd_data_restrictions=reject_unauth_pipelining
1537
-o smtpd_end_of_data_restrictions=
1538
-o mynetworks=127.0.0.0/8
1539
-o smtpd_error_sleep_time=0
1540
-o smtpd_soft_error_limit=1001
1541
-o smtpd_hard_error_limit=1000
1542
-o smtpd_client_connection_count_limit=0
1543
-o smtpd_client_connection_rate_limit=0
1544
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
1547
Also add the following two lines immediately below the <emphasis>"pickup"</emphasis> transport service:
1551
-o receive_override_options=no_header_body_checks
1554
This will prevent messages that are generated to report on spam from being classified as spam.
1557
Now restart <application>Postfix</application>:
1560
<command>sudo /etc/init.d/postfix restart</command>
1563
Content filtering with spam and virus detection is now enabled.
1567
<sect3 id="amavisd-new-spamassassin-integration" status="review">
1568
<title>Amavisd-new and Spamassassin</title>
1571
When integrating <application>Amavisd-new</application> with <application>Spamassassin</application>, if you choose to
1572
disable the bayes filtering by editing <filename>/etc/spamassassin/local.cf</filename> and use <application>cron</application>
1573
to update the nightly rules, the result can cause a situation where a large amount of error messages are sent to the
1574
<emphasis>amavis</emphasis> user via the amavisd-new <application>cron</application> job.
1578
There are several ways to handle this situation:
1584
Configure your MDA to filter messages you do not wish to see.
1589
Change <filename>/usr/sbin/amavisd-new-cronjob</filename> to check for <emphasis>use_bayes 0</emphasis>. For example, edit
1590
<filename>/usr/sbin/amavisd-new-cronjob</filename> and add the following to the top before the <emphasis>test</emphasis> statements:
1593
egrep -q "^[ \t]*use_bayes[ \t]*0" /etc/spamassassin/local.cf && exit 0
1600
<sect2 id="mail-filter-testing" status="review">
1601
<title>Testing</title>
1603
First, test that the <application>Amavisd-new</application> SMTP is listening:
1606
telnet localhost 10024
1608
Connected to localhost.
1609
Escape character is '^]'.
1610
220 [127.0.0.1] ESMTP amavisd-new service ready
1614
In the Header of messages that go through the content filter you should see:
1618
X-Virus-Scanned: Debian amavisd-new at example.com
1619
X-Spam-Status: No, hits=-2.3 tagged_above=-1000.0 required=5.0 tests=AWL, BAYES_00
1624
Your output will vary, but the important thing is that there are <emphasis>X-Virus-Scanned</emphasis> and
1625
<emphasis>X-Spam-Status</emphasis> entries.
1629
<sect2 id="mail-filter-troubleshooting" status="review">
1630
<title>Troubleshooting</title>
1632
The best way to figure out why something is going wrong is to check the log files.
1637
For instructions on <application>Postfix</application> logging see the
1638
<xref linkend="postfix-troubleshooting"/> section.
1643
<application>Amavisd-new</application> uses <application>Syslog</application> to send messages to
1644
<filename>/var/log/mail.log</filename>. The amount of detail can be increased by adding the
1645
<emphasis>$log_level</emphasis> option to <filename>/etc/amavis/conf.d/50-user</filename>, and setting the value from 1 to 5.
1652
When the <application>Amavisd-new</application> log output is increased <application>Spamassassin</application> log output is also
1659
The <application>ClamAV</application> log level can be increased by editing <filename>/etc/clamav/clamd.conf</filename>
1660
and setting the following option:
1666
By default <application>ClamAV</application> will send log messages to <filename>/var/log/clamav/clamav.log</filename>.
1672
After changing an applications log settings remember to restart the service for the new settings to take affect. Also,
1673
once the issue you are troubleshooting is resolved it is a good idea to change the log settings back to normal.
1677
<sect2 id="mail-filter-references" status="review">
1678
<title>References</title>
1680
For more information on filtering mail see the following links:
1685
<ulink url="http://www.ijs.si/software/amavisd/amavisd-new-docs.html">Amavisd-new Documentation</ulink>
1690
<ulink url="http://www.clamav.org/doc/latest/html/">ClamAV Documentation</ulink> and
1691
<ulink url="http://wiki.clamav.net/Main/WebHome">ClamAV Wiki</ulink>
1696
<ulink url="http://wiki.apache.org/spamassassin/">Spamassassin Wiki</ulink>
1701
<ulink url="http://pyzor.sourceforge.net/">Pyzor Homepage</ulink>
1706
<ulink url="http://razor.sourceforge.net/">Razor Homepage</ulink>
1711
<ulink url="http://dkim.org/">DKIM.org</ulink>
1716
<ulink url="https://help.ubuntu.com/community/PostfixAmavisNew">Postfix Amavis New</ulink>
1721
Also, feel free to ask questions in the <emphasis>#ubuntu-server</emphasis> IRC channel on
1722
<ulink url="http://freenode.net">freenode</ulink>.