Showing posts with label mail server. Show all posts
Showing posts with label mail server. Show all posts

Tuesday, August 27, 2013

How to Configure Mail Server with Postfix and Dovecot in Debian 7.0 (Wheezy)


Setup your host name like this:
---------------------------
 root@mail:~# vim /etc/hosts
===========================================
127.0.0.1       localhost
146.184.13.55   mail.server.world      mail

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
============================================
For Incomming Mail:
------------------

root@mail:~# apt-get install dovecot-common dovecot-pop3d dovecot-imapd

root@mail:~# vim /etc/dovecot/dovecot.conf
# line 26: change ( if not listen IPv6 port )
listen = *

root@mail:~# vim /etc/dovecot/conf.d/10-auth.conf
# line 9: uncomment and change ( allow plain text auth )
disable_plaintext_auth = no

# line 99: add
auth_mechanisms = plain login


root@mail:~# vim /etc/dovecot/conf.d/10-mail.conf
# line 30: uncomment and add

mail_location = maildir:~/Maildir


root@mail:~# vim /etc/dovecot/conf.d/10-master.conf
# line 96-98: uncomment and add

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
}


root@mail:~# /etc/init.d/dovecot restart



For Outgoing Mail:
-----------------
root@mail:~# apt-get install postfix postfix-tls sasl2-bin


# select 'No Configuration' (configure manually)

                 

root@mail:~# cp /usr/lib/postfix/main.cf /etc/postfix/main.cf

root@mail:~# vim /etc/postfix/main.cf



# line 59: uncomment
mail_owner = postfix

# line 76: uncomment and specify hostname
myhostname = mail.server.world

# line 83: uncomment and specify domain name
mydomain = server.world

# line 104: uncomment
myorigin = $mydomain

# line 118: uncomment
inet_interfaces = all

# line 166: uncomment
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# line 209: uncomment
local_recipient_maps = unix:passwd.byname $alias_maps

# line 268: uncomment and specify your LAN
mynetworks = 127.0.0.0/8, 10.0.0.0/24

# line 388: uncomment
alias_maps = hash:/etc/aliases

# line 399: uncomment
alias_database = hash:/etc/aliases

# line 421: uncomment (use Maildir)
home_mailbox = Maildir/

# line 557: make it comment and add below

# smtpd_banner = $myhostname ESMTP $mail_name (@@DISTRO@@)
smtpd_banner = $myhostname ESMTP

# line 631: add
sendmail_path = /usr/sbin/postfix

# line 636: add
newaliases_path = /usr/bin/newaliases

# line 641: add
mailq_path = /usr/bin/mailq

# line 647: add
setgid_group = postdrop

# line 651: make it comment
#html_directory =

# line 655: make it comment
# manpage_directory =

# line 660: make it comment
# sample_directory =

# line 664: make it comment
# readme_directory =

# add at the last line: limit an email size 10M
message_size_limit = 10485760

# limit mailbox 1G
mailbox_size_limit = 1073741824

# Add the following line to locate transport file
transport_maps = hash:/etc/postfix/transport

# for SMTP-Auth settings

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

root@mail:~# vim /etc/postfix/header_checks

# for example, reject from the addreses "*@bdjobs.com"

/^From:.*@bdjobs.com/ REJECT


root@mail:~# vim /etc/postfix/transport
--------------------------------------
nationalhousingbd.com    local:
.nationalhousingbd.com    local:
--------------------------------------
root@mail:~# postmap transport
root@mail:~# newaliases
root@mail:~# postalias aliases
root@mail:~# /etc/init.d/postfix restart

Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.