Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > Linux Forums > Server Operation

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 19th June 2012, 00:01
petersfreeman petersfreeman is offline
Junior Member
Join Date: Jun 2012
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Default [SOLVED] Local Mail Server Setup


We now live in an area where our link to the internet is an expensive wireless connection using the cellular system.

Members of our family email each other a lot, with large attachments such as videos, pictures, etc.


I want to set-up a LAN mail server that we can use for family members where the mail just stays within the LAN and does not go out onto the Internet.


I installed Ubuntu 12.04 LTS Server 64 bit on a spare machine following the guide at this web site:
The Perfect Server - Ubuntu 12.04 LTS (Apache2, BIND, Dovecot, ISPConfig 3)
I registered the domain musgravelanding.net with hover and you can see the results at:

Here is my /etc/hosts file:

Code:       localhost.localdomain   localhost  server.musgravelanding.net      server

# 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
And here is my /etc/hostname file:
My /etc/postfix/main.cf is:
# 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 = /usr/share/doc/postfix

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.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.

myhostname = server.musgravelanding.net
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
myorigin = /etc/mailname
mydestination = server.musgravelanding.net, localhost, localhost.localdomain
relayhost =
mynetworks = [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /var/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
smtpd_tls_security_level = may
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
virtual_transport = dovecot
header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = regexp:/etc/postfix/mime_header_checks
nested_header_checks = regexp:/etc/postfix/nested_header_checks
body_checks = regexp:/etc/postfix/body_checks
owner_request_special = no
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
content_filter = amavis:[]:10024
receive_override_options = no_address_mappings
The result of a test send is:
echo "Subject: Test" | /usr/lib/sendmail -v peter@musgravelanding.net
Mail Delivery Status Report will be mailed to <peter>.
Testing with netstat reveals:
peter@server:~$ netstat -an | grep tcp | grep 25
tcp        0      0*               LISTEN
tcp        0      0    *               LISTEN
tcp        0      0         ESTABLISHED
tcp        0      0          ESTABLISHED
tcp6       0      0 :::25                   :::*                    LISTEN
You have new mail in /var/mail/peter
And iptables:
peter@server:~$ sudo iptables -nvL
[sudo] password for peter:
Chain INPUT (policy ACCEPT 34799 packets, 42M bytes)
 pkts bytes target     prot opt in     out     source               destination
  824 67412 fail2ban-dovecot-pop3imap  tcp  --  *      *              multiport dports 110,995,143,993
  263 14292 fail2ban-pureftpd  tcp  --  *      *              multiport dports 21
 2202  187K fail2ban-ssh  tcp  --  *      *              multiport dports 22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 21919 packets, 1686K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain fail2ban-dovecot-pop3imap (1 references)
 pkts bytes target     prot opt in     out     source               destination
  818 67052 RETURN     all  --  *      *  

Chain fail2ban-pureftpd (1 references)
 pkts bytes target     prot opt in     out     source               destination
  263 14292 RETURN     all  --  *      *  

Chain fail2ban-ssh (1 references)
 pkts bytes target     prot opt in     out     source               destination
 2202  187K RETURN     all  --  *      *  
Checking with Telnet reveals:
peter@server:~$ telnet localhost 25
Connected to localhost.localdomain.
Escape character is '^]'.
220 server.musgravelanding.net ESMTP Postfix (Ubuntu)
ehlo server
250-SIZE 10240000
250 DSN
221 2.0.0 Bye
Connection closed by foreign host.
And a look at the logs:
peter@server:~$ tail /var/log/mail.log
Jun 18 14:49:36 server postfix/smtpd[8749]: disconnect from localhost.localdomain[]
Jun 18 14:49:40 server postfix/smtpd[8749]: connect from localhost.localdomain[]
Jun 18 14:50:01 server postfix/smtpd[8823]: connect from localhost.localdomain[]
Jun 18 14:50:01 server postfix/smtpd[8823]: lost connection after CONNECT from localhost.localdomain[]
Jun 18 14:50:01 server postfix/smtpd[8823]: disconnect from localhost.localdomain[]
Jun 18 14:50:01 server dovecot: imap-login: Disconnected (no auth attempts): rip=, lip=, secured
Jun 18 14:50:01 server dovecot: pop3-login: Disconnected (no auth attempts): rip=, lip=, secured
Jun 18 14:50:17 server postfix/smtpd[8749]: disconnect from localhost.localdomain[]
Jun 18 14:50:21 server postfix/smtpd[8823]: connect from localhost.localdomain[]
Jun 18 14:50:28 server postfix/smtpd[8823]: disconnect from localhost.localdomain[]
At this point /var/log/mail.err is empty

From my wife's computer using Thunderbird, she tried to send me a test email, but it gives a SMTP error when Thunderbird is set up as smtp.musgravelanding.net. When I change the settings in Thunderbird to give the server the explicit ipaddress the mail is sent.

  1. What do I need to do to get this working?
  2. I don't understand how to set the MX record if that is appropriate?
  3. Can you recommend links to further advice on this topic?

Thank you,


Last edited by petersfreeman; 19th June 2012 at 07:02. Reason: Change title to [SOLVED]
Reply With Quote
Sponsored Links


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Getting Email Working ISPConfig3 Squirrelmail and Courier etc Ian Wilson Installation/Configuration 17 19th June 2013 22:58
Postfix: can send emails outside, none received daseagle Server Operation 9 11th October 2011 12:03
ISPConfig3 mail doesn't work Marr General 6 1st September 2010 09:32
Mail server using Postfix, Dovecot, Mysql... Postfix virtual maps doesn't work?? tarasbuljba HOWTO-Related Questions 33 28th May 2010 14:33
localhost postfix/master: fatal: bind port 125: Permission denied g18c Installation/Configuration 4 24th March 2009 17:39

All times are GMT +2. The time now is 21:21.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.