我试图在Amazon EC2 Micro实例上设置一个邮件服务器 – 在这篇文章之后, 我已经安装了Postfix,Courier IMAP和Squirrel Mail。 我一直在testing通过postfix发送和接收电子邮件的能力 – 这工作正常。 我已经连接到SquirrelMail成功 – 但收件箱是空白的。
看起来电子邮件文件正在/var/spool/mail/myuser ,而不是/var/spool/mail/virtual/myuser 。 起初,我无法连接到SquirrelMail – 因为myuser目录没有在virtual/启动。 所以我手动添加这个通过
maildirmake myuser
现在的问题是电子邮件没有被存储在/var/spool/mail/virtual/myuser目录中,但仍然在/var/spool/mail/myuser文件中。
编辑> 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 =是
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 =是
smtpd_hard_error_limit = 12
smtpd_helo_required =是
smtpd_helo_restrictions = permit_mynetworks,warn_if_reject reject_non_fqdn_hostname,reject_invalid_hostname,许可
smtpd_recipient_limit = 16
smtpd_recipient_restrictions = reject_unauth_pipelining,permit_mynetworks,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_destination,许可
smtpd_sender_restrictions = permit_mynetworks,warn_if_reject reject_non_fqdn_sender,reject_unknown_sender_domain,reject_unauth_pipelining,许可
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 =是
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
编辑>这是来自SQL查询的concat(home,'/',maildir)的结果 – 您可以看到邮件目录以斜杠/
在/ var / spool / mail中/虚拟/ myuser的/
解决>我注意到在mail.log中有以下>
postfix / trivial-rewrite [16423]:警告:不要在mydestination和virtual_mailbox_domains中列出域mymailexample.co.uk .. postfix / virtual [17251]:149535DC7:to =,relay = virtual,delay = 0.14,延迟= 0.12 / 0.01 / 0 / 0.01,dsn = 2.0.0,status =发送
我更新了/etc/postfix/main.cf
mydestination = mail.mymailexample.co.uk,localhost,localhost.localdomain
它的工作。 警告消失,日志显示(交付给maildir)
.. postfix / virtual [17251]:149535DC7:to =,relay = virtual,delay = 0.14,delay = 0.12 / 0.01 / 0 / 0.01,dsn = 2.0.0,status =发送(传递给maildir)
如文档所述 ,为了以maildir格式提供,邮箱位置必须以斜线结尾 :
[email protected] example.com/joe/
这个,只有这个,告诉后缀传递给maildir。
当然,可能还有其他问题阻止它的工作,但我们不知道。