Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to set up a mail server on an Amazon EC2 Micro instance - following this post by flurdy. I've installed Postfix, Courier IMAP and Squirrel Mail. I've been testing the ability to send and receive emails via postfix - and this is working fine. I've connected to SquirrelMail succesfully - however the inbox is blank.

It appears the email files are being created at /var/spool/mail/myuser as opposed to /var/spool/mail/virtual/myuser. At first I couldn't connect to SquirrelMail - because the myuser directory wasn't initiated within virtual/. So I manually added this via

maildirmake myuser

The issue now is that the emails are not being stored within /var/spool/mail/virtual/myuser directory, but still in /var/spool/mail/myuser file.

Edit > postconf -n

alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
delay_warning_time = 4h
disable_vrfy_command = yes
inet_interfaces = all
local_recipient_maps =
mailbox_size_limit = 0
maximal_backoff_time = 8000s
maximal_queue_lifetime = 7d
minimal_backoff_time = 1000s
mydestination = $mydomain, $myhostname, localhost, localhost.localdomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mynetworks_style = host
myorigin = mymailexample.co.uk
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_helo_timeout = 60s
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, reject_rbl_client dnsbl.njabl.org
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_delay_reject = yes
smtpd_hard_error_limit = 12
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit
smtpd_recipient_limit = 16
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, permit
smtpd_sender_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit
smtpd_soft_error_limit = 3
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 450
virtual_alias_maps = mysql:/etc/postfix/mysql_alias.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /var/spool/mail/virtual
virtual_mailbox_domains = mysql:/etc/postfix/mysql_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_mailbox.cf
virtual_uid_maps = static:5000

Edit> This is the result of the concat(home,'/',maildir) from the SQL query - You can see the mail directory ends with a slash /

/var/spool/mail/virtual/myuser/             

Solved> I noticed in the mail.log there was the following>

postfix/trivial-rewrite[16423]: warning: do not list domain mymailexample.co.uk in BOTH mydestination and virtual_mailbox_domains
..
postfix/virtual[17251]: 149535DC7: to=, relay=virtual, delay=0.14, delays=0.12/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)

I updated /etc/postfix/main.cf to

mydestination = mail.mymailexample.co.uk, localhost, localhost.localdomain

And it worked. Warning disappears and the logs now reveal (delivered to maildir)

..
postfix/virtual[17251]: 149535DC7: to=, relay=virtual, delay=0.14, delays=0.12/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
share|improve this question
    
Please show non-verbose logs of a single message being delivered to the wrong mailbox (grep the Queue-ID.) –  adaptr Jan 16 '13 at 15:58
    
Hi - thanks for the help, it's solved now. cheers –  williamsowen Jan 16 '13 at 16:39

1 Answer 1

As documented, in order to deliver in maildir format, the mailbox location must end with a slash:

joe@example.com  example.com/joe/

This, and this only, tells postfix to deliver to a maildir.

Of course, there could be other problems preventing it from working, but we don't know.

share|improve this answer
    
I've added an edit to my Question. Not sure what else it could be? But the mailbox location has the ending slash –  williamsowen Jan 16 '13 at 14:59
    
You can start by including the output of postconf -n with your post. –  adaptr Jan 16 '13 at 15:21
    
Cheers - I've added the output.. –  williamsowen Jan 16 '13 at 15:26

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.