This tutorial is for the former stable version "Debian Lenny". If you are using "Debian Squeeze" then please follow the new tutorial.
A spanish translation of this tutorial is also available - courtesy of José Ramón Magán Iglesias.
What this tutorial is about
You surely know the internet service providers that allow you to rent a domain and use it to receive emails. If you have a computer running Debian which is connected to the internet permanently you can do that yourself. You do not even need to have a fixed IP address thanks to dynamic DNS services like dyndns.org. All you need is this document, a cup of tea and a little time. When you are done your server will be able to...
- receive and store emails for your users from other mail servers
- let your users retrieve the email through IMAP and POP3 - even with SSL to encrypt to connection
- receive and forward ("relay") email for your users if they are authenticated
- offer a webmail interface to read emails in a web browser
- detect most spam emails and filter them out or tag them
License/Copyright
This tutorial book is copyrighted 2009 Christoph Haas (email@christoph-haas.de). It can be used freely under the terms of the GNU General Public License. Don't forget to refer to this URL when using it. Thank you.
Changelog
- 17.6.09: Lenny tutorial gets published.
- 19.6.09: The page on SPF checks is temporarily offline. A new page on spam/virus/phishing fighting is currently prepared.
Things you will need
The server setup described here is totally standard work for a professional system administrator. Depending on your level of knowledge and experience you may walk through this document easily or curse the author and fail miserably. You will need to know or learn about different topics regarding basic system administration (e.g. how do I edit a text file, where are my log files), DNS, SMTP, MySQL and POP3/IMAP. You also need root access to an existing Debian Lenny server or be able to install one. Also you will likely have to change DNS records for your domain. If your server is protected by the firewall make sure you can change its rules. Going through this setup takes you between 2 hours (for a professional) and a week (if you are a beginner who will inevitably make mistakes). So make sure you are not in a hurry.
About this document
Many years ago I wanted to turn my Debian server into a mail server with virus scanning, spam detection, email forwarding ("aliasing"), POP3 and IMAP access and a webmail service. All the components were there but it took a while until they worked properly together. So I summed up my desk full of scrawly notes into a tutorial that has become pretty famous. According to my web server statistics it's the main reason why people visit workaround.org.
This document is not a simple copy-and-paste tutorial where you just copy the commands from the web site and run it on your server. Instead it will make you understand the different components that you are setting up. In the end you will be skilled enough to debug problems yourself. If you feel you need help with your setup then try the hints in the Troubleshooting section or ask on the mailing list. The setup in this tutorial has been tested very thoroughly by many readers. Unlike many other Postfix tutorials on the internet this is already the fifth edition. Writing this tutorial took a lot of work so these are not just quick draft notes thrown together but a consistent document guiding you.
The whole tutorial is split into several chapters. Please use the links on the right side or below to navigate through the tutorial. If you prefer all content on a single page (e.g. for printing the tutorial) then use the "printer-friendly" link below. You are also invited to comment on the pages - just click on the "Add new comment" link at the bottom.
If you like the tutorial then a tiny donation is appreciated to run the test server website hosts and to pay for the internet connection.
113 Comments
but don't you think it would
Submitted by Anonymous (not verified) on
but don't you think it would be a good addon for your tutorial? because some isp's offer this too for example googlemail
Using this howto as part of my tranings project for testing
Submitted by Anonymous (not verified) on
Hello, first i want to tell how helpfull this tutorial was for me.
I'm using it on my hobby hired vServer.
As part of my testing i want to use it in my final exam.
All works year smooth but for commerical use there is a question i have to ask.
This tutorial works with mysql. I far as i now the free version of mysql is not allowing commerial use.
The first thought i had, was just use postgresql.
As a database newbee i want to now has anybody used this tutorial on a postgresql?
Or does the free license of mysql space left for this little database ?
Greets Torsten
MySQL is free - nonetheless I prefer PostgreSQL
Submitted by Christoph Haas on
I'm also using MySQL (unvoluntarily) in a commercial environment and we are not paying a cent. Perhaps you are thinking of MySQL Enterprise or something. The MySQL community server is free and open-source software though - no matter if for private or commercial use.
On the other hand I'm not endorsing MySQL because it's flawed in my areas. The more I work with it the more I hate it. And with Oracle having bought SUN the future of MySQL is even more unsure. If possible I'm always using PostgreSQL nowadays. It has nice field types, it's fast, has a nice psql shell, doesn't store the permissions inside the database and it's more likely to stay freely available in the future than MySQL. Software developers should start to focus more on PostgreSQL in my humble opinion (yes, I mean you, Drupal team).
Adopting the tutorial to PostgreSQL isn't hard at all. MySQL and PostgreSQL are both relational databases. If you know how to create databases and table in PostgreSQL and grant permissions then you are all set. And I recommend you know the database basics before starting to follow this tutorial anyway.
viruscsanner
Submitted by Anonymous (not verified) on
Hello Christoph
Thanks for your pushing me in the right direction.
I've don it in Postgresql.
Now it's works up to Amavis. I've read at your blog that you prefer to use clamsmtp or milter .
I used tutorial's with them, but it seams that the use of your database system won't work very easy together.
Maybe you can show me a way to bring this parts working together.
Greets Torsten
PostgreSQL
Submitted by Christoph Haas on
Great to hear you got it working. Yes, I prefer clamav-milter in favor of AMaViS. Not sure if I should make the big step and remove AMaViS from this tutorial as it may be confusing.
I'm not sure what you expect me to do though.
Postgrsql sending okay, but receiving in the wrong directory
Submitted by Anonymous (not verified) on
Hallo Christoph,
Ich bins wieder Torsten, der Postgresqlnerver.
Ich dachte lange das es funktioniert , aber der Empfang der mail geht ins falsche Verzeichnis.
Erst wenn ich einen realen lokalen User anlege kann ich mit mutt o.ä. die mail lokal lesen.
Ein E-Mailclient funktioniert ganrnicht zum lesen.
Ich habe alle Backups ausprobiert und das Tutorial 2 mal durchgearbeitet, ohne Erfolg.
Ich vermute, dass mir Postgresql beim maildir irgendwo einen Strich durch die Rechnung macht.
Vielleicht hast du einen Tipp wie ich das Mr. Postgresql richtig verpacke.
Danke im vorraus
nachtrag
Submitted by Anonymous (not verified) on
Ohne Benutzerverzeichnis kommt die mail mit der Meldung "user foo unknown" zurück
postmap -q
Submitted by Christoph Haas on
Als generellen Tipp: im Tutorial verwende ich öfter mal "postmap -q", um zu testen, dass ein Mapping auch wirklich das tut, was man erwartet. Geh besonders diese Punkte noch einmal durch.
postmap -q funktioniert leier tadellos auch bei meinem pgsql
Submitted by Anonymous (not verified) on
Hallo Christoph, die domain example.com funktioniert, auch mit neuen Usern.
Meine eigene und reale domain, die so wie die virtuelle domain heisst, sende aber empfängt nicht.
Der Sender bekommt dann die Fehlermeldung "unknown user" retur.
Mit Mysql klappte das prima Postgresql macht da irgendetwas anders.
Ich hatte auch mal testweise in der realen domain einen realen User angelegt, der so wie ein virtueller user heisst und die mail landete in seinem Verzeichnis , nicht in /var/vmail.
Vielleicht hast du ein Tipp für mich?
Gruß Torsten
ML
Submitted by Christoph Haas on
In diesem Fall formulier bitte dein Problem auf englisch und schicke es mit deiner Konfiguration ("postconf -n") an die workaround-chitchat-Mailingliste. Ich bin sicher, dass wird die Ursache finden.
-- The MySQL community server
Submitted by Anonymous (not verified) on
-- The MySQL community server is free and open-source
-- software though - no matter if for private or commercial use.
How do you understand commercial use ?
[1] OEMs, ISVs, and VARs who distribute MySQL with their products, and are
not licensing and distributing their source code under the GPL, need to
purchase a commercial license of MySQL.
Alois
[1] http://www.mysql.com/oem/licensing.html
Right
Submitted by Christoph Haas on
It's exactly what you wrote. You can use MySQL in your corporate environment freely. Create a web application - make billions - that's all covered. Just if you sell a piece of software that embeds MySQL and you refuse to put it under the GPL then you need to purchase a special MySQL license. Even if you say that your product works with MySQL but does not distribute it then you can sell your software.
Really the only exclusion is the "library" approach. Your whole sold application depends on being bundled with MySQL? Then you need to pay money for it. In case of mail servers nobody cares.
Great tutorial!!
Submitted by Anonymous (not verified) on
I've setup a server/client enviroment and setup all up to the point of the virusscanner, added a second email address in the db and it's working great!!
I can sent mail from the server to the client and vice versa.
Thanks!
User unknown
Submitted by Anonymous (not verified) on
I'm getting spammers sending emails to users who are not in the virtual tables. So an email gets bounced back to them saying "Recipient address rejected: User unknown in virtual mailbox table" . How can i prevent this? If a user is not in the table, drop the email and not bounce it.
thanks!
Bounce?
Submitted by Christoph Haas on
The "Recipient address rejected: User unknown in virtual mailbox table" message is directly sent in the SMTP dialog. That shouldn't create bounces but rather block the email at the doorstep - right within the SMTP process.
If you really first accept the email and after that create a bounce email then your content filter is misconfigured. If you are using AMaViS then make sure you have set it up correctly.
Rule of thumb: if you accept the email first then never create a bounce like this. Drop the email. Flag it as spam. Whatever. But don't create a bounce. You would spam innocents in turn.
Yes i get a bounce back from
Submitted by Anonymous (not verified) on
Yes i get a bounce back from my email server. I tested it out by sending an email to a bogus account with gmail. I got a reply back from my email server with the User unknown....
Yes im using AmaVis. Its setup exactly as the tutorial. Which parameter do i look at in AmaVis to drop that email instead of bouncing it.
thanks!
Hmmm
Submitted by Christoph Haas on
I thought you might have the
$sql_select_policy = 'SELECT name FROM virtual_domains WHERE CONCAT("@",name) IN (%k)'; line wrong. But this line just makes sure that AMaViS does not scan outgoing emails.Could you double-check your /etc/postfix/master.cf, too? Actually Postfix should check if the recipient exists before forwarding the email to AMaViS. At least I can't reproduce the problem here on a similar setup.
all seems ok
Submitted by Anonymous (not verified) on
I checked the $sql_select_policy and its the same.
I also checked master.cf and its the same as the tutorial mentions. I cut/pasted the code at the end of master.cf file.
my main.cf
Submitted by Anonymous (not verified) on
Here is my main.cf file, maybe you can spot something that is wrong.
-----------------------------------------------------------------------------
smtpd_banner = $myhostname ESMTP
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/dovecot.pem
smtpd_tls_key_file=/etc/ssl/private/dovecot.pem
smtpd_tls_security_level = may
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
#smtp_tls_per_site = /etc/postfix/tls_per_site
smtpd_tls_CAfile = /etc/postfix/CAcert.pem
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = domain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname
relayhost =
mynetworks = 127.0.0.0/8,192.168.50.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_sender_domain,reject_unknown_recipient_domain
content_filter = smtp-amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
smtp_tls_per_site = hash:/etc/postfix/tls_per_site
strict_rfc821_envelopes = yes
disable_vrfy_command = yes
ClamAV Fehler
Submitted by Anonymous (not verified) on
Wenn ClamAV oder der Daemon neuerdings abschmiert, liegt es möglicherweise an der Umstellung auf eine neue Version.
Ich konnte es durch Neuinstallation nach http://www.clamav.net/lang/en/download/packages/packages-linux/
wieder zum Laufen bringen. Ganz schön doof, so ohne E-Mail..
Dank an Christoph, diese Seite ist immer meine erste Anlaufstelle :-)
chernevik
Submitted by Anonymous (not verified) on
This tutorial is very helpful, thank you.
I am having one problem in the simulated email session over telnet. When I send email to john@example.com, postfix (local?) attempts to send the message on to '1@[mycomputersdomain.net]'. That forwarded message is bounced. I've checked my database tables and the SQL in my .cf files and I don't see the problem there. I've looked through the logs but don't see any hints.
Postfix is doing some handoff to dovecot, as the delivery failure message sent by postfix to steve@example.com is going into the mailDir at /var/vmail/example.com.
This installation is on a computer where I had previously tried to install postfix and dovecot, and while I tried to restore the configurations to their initial state before editing as you suggest, it's possible that some prior setting has survived to interfere with the intended function.
Would you please suggest how I should begin debugging this? I think the problem is that postfix is somehow trying to forward the message to mycomputersdomain.net rather than passing it on to dovecot for delivery.
I've fixed this. I had
Submitted by Anonymous (not verified) on
I've fixed this. I had mistakenly set the value of virtual_alias_maps to include mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf, when it should have included mysql-virtual-alias-maps.cf.
This was hard to spot, as postmap -q john@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cf returned the same result (john@example.com,devnull@workaround.og). Under the erroneous configuration, mailbox-maps.cf was returning "1", and the cleanup (?) daemon was taking that and prepending it to the domain name to be sent without moving on to the output of email2email.cf.
I'm not sure why this result wasn't popping up in the return to the postmap check.
Catch-All
Submitted by Anonymous (not verified) on
Hi,
could you please add a hint on how to configure a catch-all mailbox,
i.e. one that will gett all e-mails to a domain which are not covered by
specific recipients defined in virtual_users.
Thank you very much,
best regards,
georg
@domain
Submitted by Anonymous (not verified) on
That's documented in the tutorial but perhaps a little hidden. Use @domain as the source address in a virtual alias. That will give you a catchall alias.
aliases and forwarding
Submitted by Anonymous (not verified) on
thank you - i've found it now and relized I need all addresses with mailboxes in the alias map as well.
I'm going to try following query for virtual alias maps instead of defining two maps:
SELECT destination FROM virtual_aliases WHERE source='%s'UNION
SELECT email FROM virtual_users WHERE email='%s' AND active
Column active (BOOLEAN) should allow users to temporarily deactivate mailboxes.
There is a problem when forwarding e-mails to another server because of SPF checks. Is there a way to change envelope address when forwarding to external domain?
Mailman
Submitted by Anonymous (not verified) on
Has anyone successfully gotten mailman to play nicely with the Lenny tutorial? I was going to go muck around with the Lenny installation using the Etch Mailman notes, but don't want to break anything just yet :)
Mail not delivered to sender?
Submitted by Anonymous (not verified) on
Hi,
Thank you very much, your tutorial is great, it worked like a charm. However, I've got this question I cannot answer : the mail system does not deliver a mail to a recipient that is also the sender of the message. Did I miss something in the setup ?
Thanks in advance
Huh?
Submitted by Christoph Haas on
Thanks for the feedback. I wonder why your message was not delivered. Care to paste a few relevant lines from your mail.log?
Sure thing
Submitted by Anonymous (not verified) on
I just run a test. The address contact[at]mindtailor[dot]com is forwarded to guillaume.font[at]gmail[dot]com Here is the output :
This doesn't get delivered.
Uhm…
Submitted by Anonymous (not verified) on
All I see from these lines is that an email was forwarded to ...@gmail.com successfully. How did you assume this would get delivered to your system? You are not gmail.com, are you? :)
cant send/recieve mails from outside the server
Submitted by Anonymous (not verified) on
I've followed the toturial, and finaly i got i work. Can create new domains and users with ispwebadmin.
Login to squirrelmail, and send email. But only local on my server.
I tried to send from my own yahoo email. But it didn't get true.
Heres the log file /var/log/mail.log on my email server:
Jul 26 19:29:05 srv2 postfix/smtpd[18217]: connect from mail46.e.nsc.no[193.213.115.46]
Jul 26 19:29:05 srv2 postfix/smtpd[18217]: DDA93B66803B: client=mail46.e.nsc.no[193.213.115.46]
Jul 26 19:29:05 srv2 postfix/cleanup[18220]: DDA93B66803B: message-id=<001501cb2ce8$0bfbfe90$23f3fbb0$@no>
Jul 26 19:29:05 srv2 postfix/qmgr[13741]: DDA93B66803B: from=<xxxxxxxxxx@yahoo.no>, size=2959, nrcpt=1 (queue active)
Jul 26 19:29:05 srv2 postfix/trivial-rewrite[21955]: warning: do not list domain srv2.explode-radio.net in BOTH mydestination and virtual_mailbox_domains
Jul 26 19:29:05 srv2 postfix/smtpd[18217]: disconnect from mail46.e.nsc.no[193.213.115.46]
Jul 26 19:29:05 srv2 postfix/local[21957]: DDA93B66803B: to=<benny@srv2.explode-radio.net>, relay=local, delay=0.03, delays=0.01/0.01/0/0.01, dsn=5.1.1, status=bounced (unknown user: "be nny")
Jul 26 19:29:05 srv2 postfix/cleanup[18220]: E2C12B66803C: message-id=<20100726172905.E2C12B66803C@srv2.explode-radio.net>
Jul 26 19:29:05 srv2 postfix/bounce[21958]: DDA93B66803B: sender non-delivery notification: E2C12B66803C
Jul 26 19:29:05 srv2 postfix/qmgr[13741]: E2C12B66803C: from=<>, size=4801, nrcpt=1 (queue active)
Jul 26 19:29:05 srv2 postfix/qmgr[13741]: DDA93B66803B: removed
Jul 26 19:29:06 srv2 postfix/smtp[18222]: E2C12B66803C: to=<xxxxxxxxxx@yahoo.no>, relay=mx2.mail.eu.yahoo.com[77.238.184.241]:25, delay=0.67, delays=0/0/0.27/0.4, dsn=2.0.0, status=sent (250 ok dirdel)
What can i do to fix this ?
Hi, Take a look at 'Jul
Submitted by Anonymous (not verified) on
Hi,
Take a look at 'Jul 26 19:29:05 srv2 postfix/trivial-rewrite[21955]: warning: do not list domain srv2.explode-radio.net in BOTH mydestination and virtual_mailbox_domains'
SASL LOGIN authentication failed: authentication failure
Submitted by Anonymous (not verified) on
Hello!
I have followed a guide which is largely based on your guide. This guide can be found at http://library.linode.com/email/postfix/postfix-dovecot-mysql-ubuntu-10.04-lucid.
Unfortunately, they don't seem to reply to their customers having problems with their guides.
I can receive mail fine and I have seen a comment in their comments which is the same as mine with no solution.
The problem that I am having is that when I send an email from Microsoft Outlook, it says that "authentication failed: authentication failure" when I attempt to send an email.
File: /var/log/mail.log
Jul 30 06:57:14 localhost postfix/smtpd[18892]: warning: hidden-ip.net[xxx.xxx.xxx.xxx]: SASL LOGIN authentication failed: authentication failure
Jul 30 06:57:15 localhost postfix/smtpd[18892]: disconnect from hidden-ip.net[xxx.xxx.xxx.xxx]
I have searched through Google all day for a solution, but even as the error message seems to be all over Google, there is no solution for my setup.
Thanks!
backup mailserver
Submitted by Anonymous (not verified) on
Hi
I wonder if there is an easy way to setup a backup mailserver when using this tutorial?
like a server that stores new mail until the primary gets online?
ISPMail & Security
Submitted by Anonymous (not verified) on
Hi Christoph,
thanks for the great tutorial, it worked perfectly :)
I just have one question: Maybe I'm a bit paranoid, but are there any security risks if I let the Perl Webserver with your ISPMail Webinterface script listen to the public network all the time? Or is it just coded for "internal usage" inside a private network?
Thanks again,
Alex
Dovecot creating folders for users not in the database
Submitted by Anonymous (not verified) on
Hi Chris,
Great tutorial. I actually deployed this using Ubuntu 10.04 server edition without any issue!.
However I came across an issue where in /var/vmail/domain/ folders are created by dovecot for
users who are not in the virtual_users table. Hope you could shed some light on how to tackle this.
Thanks
Best regards
Jay
Thanks for the feedback.
Submitted by Christoph Haas on
Thanks for the feedback. Seems like you are sending Dovecot emails to non-existent users. Is your virtual_mailbox_maps working correctly?
Hi Chris, I had no mail
Submitted by Anonymous (not verified) on
Hi Chris,
I had no mail delivery issue at all. Do u have a command which i can run to check? Just that when I went to do a backup of /var/vmail/mydomain i saw
whole a lot of e-mail sent to non-existent account. Most of them look spelling mistakes of real accounts.
My bad. Just saw
Submitted by Anonymous (not verified) on
My bad. Just saw that
virtual_mailbox_maps=mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
is not in the main.cf file
:)
Same issue with more info
Submitted by Anonymous (not verified) on
Hi, Chris!
I'm also using Ubuntu 10.04 and other than a few tweaks, the tutorial works great!
But, I'm also seeing Dovecot create folders for non-existent users. I've done some testing and it appears to only happen when connecting from webmail. If I attempt to mail an unlisted recipient from outside mynetworks (Thunderbird MUA), it appears that postfix correctly rejects it.
I'm still coming to understand what's going on with some of settings but could it be that since webmail runs within mynetworks (hosted on same server), it is privileged in some way I'm not entirely understanding?
I did install roundcube instead of squirrelmail but I'm assuming that doesn't make a difference.
To duplicate the problem: Go into squirrelmail (roundcube for me), email to a bogus user at some domain the machine hosts and see if Dovecot creates email folders for that bogus user. It's happening here.
Thanks!
Ian
Has anyone verified this?
Submitted by Anonymous (not verified) on
I'm curious if anyone has verified the issue with their installation from this tutorial.
Thanks!
Ian
ISPwebAdmin redirect?
Submitted by Anonymous (not verified) on
First, the best tutorial I found about mailserver! Thank you very much for your work! The installation was without troubles so far. Now I installed ISPwebAdmin. After the login I get the following screen: 302 Found The resource was found at http://example.com:5000/admin/login; you should be redirected automatically. But it doesn't redirct to the URL. What did I wrong? THX Erich
Mail Server Statistics
Submitted by Anonymous (not verified) on
It would be nice to add some sort of server statistics to the tutorial.
Great job though. I have a server running thanks to this tutorial.
Vacation service
Submitted by Anonymous (not verified) on
Hi,
I just want to ask about vacation/auto-reply service. IIRC in previous versions there was aslo description about setting up vacation service. But I can't found any info about it in this new version. I think that supporting it in ISPWebAdmin would be great :) Could I use the vaction setup from previous versions?
Thanks
Trigve
That's simpler than you might
Submitted by Christoph Haas on
That's simpler than you might imagine. Just use the Sieve filters provided by Dovecot. See: http://workaround.org/ispmail/lenny/server-side-sieve-filtering
It's not supported in ISPwebAdmin but through the Squirrelmail webmail interface using Avelsieve.
…Christoph
Thanks for reply, I've
Submitted by Anonymous (not verified) on
Thanks for reply,
I've installed and have one problem. When I set vacation (or some other reply action), when email is sent back to sender "From" is not set and therefor reply email is not sent.
Don't you know where can I set some generic "From" when replying?
Thanks
Trigve
Differentiated filtering
Submitted by Anonymous (not verified) on
I have a couple of VPS on which I host and run a few websites. I run Postfix on them, but in a very restricted way. It is used only to send reports etc from the server to me or the webmasters. Thanks to this very informative tuorial, I have, now, the confidence to develop the set up to a full email server.
My question is this (and I apologise if it seems very naive)
Is it possible to run Clamav and spamassassin differently on the incoming and out going mail? Basically, the sort of thing I want to do is, if, say, clamav detects malware on an incoming email, it deletes it. If however it finds it in an outgoing email, I would want to delete the attachment then bounce the message back to the user telling them to check their PC.
Something similar with the spamassassin checks. Not having set the server up yet, I could use Amavis or a milter.
preventing brute force attacks
Submitted by Anonymous (not verified) on
Hi,
thanks for the tutorial.
One thing to add would be a way to prevent brute force attacks to the mail accounts.
Right now an attacker can try to guess the login/password of the mail accounts and it would be nice to limit this with e.g. fail2ban.
Greetings
Stefan
Complicated Aplication
Submitted by Anonymous (not verified) on
Email for web applications always complicated.
Even Microsoft could not teach very clearly how the user can use outlook properly.
Because of the difficulties many people can not use email aplications.
Users Mail location?
Submitted by Anonymous (not verified) on
Hi I look forward to following you tutorial it appears to be very informed.
I like researching terms and sorts so I understand what I’m reading.
While reading the beginning section "Mail directories now under /var/vmail"
I went to lookup the FHS and it mentions that the mail should be in /var/mail.
"The mail spool must be accessible through /var/mail and the mail spool files must take the form
<username>. 6
User mailbox files in this location must be stored in the standard UNIX mailbox format."
http://www.pathname.com/fhs/pub/fhs-2.3.pdf
Just wanted some clarity on to topic
Thanks in advance
Pages