发送了Postfix / dovecot电子邮件但未收到

时间:2014-01-20 16:13:27

标签: email ubuntu-12.04 postfix-mta lan dovecot

请帮忙!我正在尝试使用Postfix和Dovecot在LAN上设置内部邮件服务器。一切似乎配置正常,电子邮件发送(并在我的Gmail帐户上收到)但从未在本地服务器上收到(使用Squirrelmail的Webmail)。 我正在使用Ubuntu Server 12.04 LTS,它向我发送有关我的新电子邮件的通知但无法在Squirrelmail中读取(我看到已发送的邮件,垃圾邮件,也许草稿[未检查]但收件箱文件夹中没有收到的邮件)。 虽然这是一个配置错误的webmail,我用Thunderbird登录,问题是一样的。看起来像是发送和接收电子邮件,但Dovecot无法找到它。

这是我的Postfix配置文件(main.cf):     #有关评论更完整的版本,请参阅/usr/share/postfix/main.cf.dist

# 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 = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.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 = <SERVERNAME>
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = <SERVERNAME>, localhost.localdomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

...和我的dovecot配置文件(dovecot.conf):     ## Dovecot配置文件

# If you're in a hurry, see http://wiki2.dovecot.org/QuickConfiguration

# "doveconf -n" command gives a clean output of the changed settings. Use it
# instead of copy&pasting files when posting to the Dovecot mailing list.

# '#' character and everything after it is treated as comments. Extra spaces
# and tabs are ignored. If you want to use either of these explicitly, put the
# value inside quotes, eg.: key = "# char and trailing whitespace  "

# Default values are shown for each setting, it's not required to uncomment
# those. These are exceptions to this though: No sections (e.g. namespace {})
# or plugin settings are added by default, they're listed only as examples.
# Paths are also just examples with the real defaults being based on configure
# options. The paths listed here are for configure --prefix=/usr
# --sysconfdir=/etc --localstatedir=/var

# Enable installed protocols
!include_try /usr/share/dovecot/protocols.d/*.protocol

# A comma separated list of IPs or hosts where to listen in for connections. 
# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
# If you want to specify non-default ports or anything more complex,
# edit conf.d/master.conf.
#listen = *, ::

# Base directory where to store runtime data.
#base_dir = /var/run/dovecot/

# Name of this instance. Used to prefix all Dovecot processes in ps output.
#instance_name = dovecot

# Greeting message for clients.
#login_greeting = Dovecot ready.

# Space separated list of trusted network ranges. Connections from these
# IPs are allowed to override their IP addresses and ports (for logging and
# for authentication checks). disable_plaintext_auth is also ignored for
# these networks. Typically you'd specify your IMAP proxy servers here.
#login_trusted_networks =

# Sepace separated list of login access check sockets (e.g. tcpwrap)
#login_access_sockets = 

# Show more verbose process titles (in ps). Currently shows user name and
# IP address. Useful for seeing who are actually using the IMAP processes
# (eg. shared mailboxes or if same uid is used for multiple accounts).
#verbose_proctitle = no

# Should all processes be killed when Dovecot master process shuts down.
# Setting this to "no" means that Dovecot can be upgraded without
# forcing existing client connections to close (although that could also be
# a problem if the upgrade is e.g. because of a security fix).
#shutdown_clients = yes

# If non-zero, run mail commands via this many connections to doveadm server,
# instead of running them directly in the same process.
#doveadm_worker_count = 0
# UNIX socket or host:port used for connecting to doveadm server
#doveadm_socket_path = doveadm-server

# Space separated list of environment variables that are preserved on Dovecot
# startup and passed down to all of its child processes. You can also give
# key=value pairs to always set specific settings.
#import_environment = TZ

##
## Dictionary server settings
##

# Dictionary can be used to store key=value lists. This is used by several
# plugins. The dictionary can be accessed either directly or though a
# dictionary server. The following dict block maps dictionary names to URIs
# when the server is used. These can then be referenced using URIs in format
# "proxy::<name>".

dict {
  #quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
  #expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}

# Most of the actual configuration gets included below. The filenames are
# first sorted by their ASCII value and parsed in that order. The 00-prefixes
# in filenames are intended to make it easier to understand the ordering.
!include conf.d/*.conf

# A config file can also tried to be included without giving an error if
# it's not found:
!include_try local.conf

protocols = imap imaps pop3 pop3s
#disable_plaintext_auth = no
#default_mail_env = mbox:~/mail/
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_location = maildir:~/Maildir

我尝试了所有这些工作,但没有成功。有些论坛说我必须为邮件目录创建命名空间,其他人说我必须告诉procmail / sendmail在哪里复制本地电子邮件,但没有人告诉我应该在哪里配置这些邮件。

我没有想法,这让我疯了,我即将放弃。简直没有用。从未成功使用这些工具设置功能齐全的内部邮件服务器。

你能告诉我我做错了吗?

提前谢谢。

更新

dovecot -n输出以下内容:

# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.8.0-29-generic i686 Ubuntu 12.04.3 LTS 
mail_location = maildir:~/Maildir
passdb {
  driver = pam
}
protocols = imap pop3
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  driver = passwd
}

2 个答案:

答案 0 :(得分:1)

所以我设法让它发送/接收进行了一些调整, 如果您按照本教程的说明操作,那么

http://www.samhobbs.co.uk/2013/12/raspberry-pi-email-server-part-1-postfix/

它用于覆盆子pi,但应该在ubuntu上完美运行。

fyi ..我注意到,因为我使用动态IP地址为我的postfix邮件服务器, 由于动态IP的使用,它们会自动路由到gmails垃圾邮件文件夹。 (至少根据万维网)

答案 1 :(得分:0)

#myhostname = <SERVERNAME>
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $mydomain, localhost.$mydomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

1-尝试使用此配置。 2-如果使用cloudflare,则使用键@

添加指向您的域的MX记录