我按照本教程创建了一个邮件服务器:
https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql,
我在电子邮件客户端上配置了电子邮件,SMTP 和 IMAP,并且两个连接均正常,我可以从我的电子邮件地址发送电子邮件([电子邮件保护]) 至另一方 ([电子邮件保护])并且我也可以阅读它,但是当我发送到我的电子邮件服务器的电子邮件地址时([电子邮件保护]),它发送了,但我没有在收件箱中看到它[电子邮件保护]...
创建了 mx 记录:example.com mx 10 example.com
并且也创建了 spf 记录:v=spf1 a mx ~all
邮件服务器位于 Ubuntu 14.04.1 桌面上。
结果dovecot -n
# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-44-generic x86_64 Ubuntu 14.04.1 LTS ext4
auth_mechanisms = plain login
mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocols = imap pop3 lmtp
service auth-worker {
user = vmail
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
}
user = dovecot
}
service imap-login {
inet_listener imap {
port = 0
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
service pop3-login {
inet_listener pop3 {
port = 0
}
}
ssl = required
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
userdb {
args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
driver = static
}
结果netstat -panet
:
tcp 0 0 0.0.0.0:995 0.0.0.0:* ESCUTA 0 11309 986/dovecot
tcp 0 0 0.0.0.0:7300 0.0.0.0:* ESCUTA 1001 13485 1371/perl
tcp 0 0 192.168.1.104:27754 0.0.0.0:* ESCUTA 1001 13484 1371/perl
tcp 0 0 127.0.0.1:3306 0.0.0.0:* ESCUTA 117 11024 1134/mysqld
tcp 0 0 0.0.0.0:587 0.0.0.0:* ESCUTA 0 11611 1232/master
tcp 0 0 0.0.0.0:465 0.0.0.0:* ESCUTA 0 11617 1232/master
tcp 0 0 127.0.1.1:53 0.0.0.0:* ESCUTA 0 12148 1486/dnsmasq
tcp 0 0 0.0.0.0:21 0.0.0.0:* ESCUTA 0 9546 993/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* ESCUTA 0 9555 980/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* ESCUTA 0 8840 510/cupsd
tcp 0 0 0.0.0.0:25 0.0.0.0:* ESCUTA 0 11602 1232/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* ESCUTA 1000 21171 3082/1
tcp 0 0 0.0.0.0:993 0.0.0.0:* ESCUTA 0 10582 986/dovecot
tcp 0 0 192.168.1.104:993 85.242.102.178:50794 ESTABELECIDO 119 24686 3168/imap-login
tcp 0 0 192.168.1.104:7300 78.111.205.56:45853 ESTABELECIDO 1001 21084 1371/perl
tcp 0 0 192.168.1.104:993 85.242.102.178:55965 ESTABELECIDO 119 21384 3176/imap-login
tcp 0 264 192.168.1.104:22 192.168.1.90:57457 ESTABELECIDO 0 21118 3046/sshd: diogosar
tcp 0 0 192.168.1.104:993 85.242.102.178:57359 ESTABELECIDO 119 21396 3178/imap-login
tcp6 0 0 :::995 :::* ESCUTA 0 11310 986/dovecot
tcp6 0 0 :::587 :::* ESCUTA 0 11612 1232/master
tcp6 0 0 :::80 :::* ESCUTA 0 10956 1340/apache2
tcp6 0 0 :::465 :::* ESCUTA 0 11618 1232/master
tcp6 0 0 :::22 :::* ESCUTA 0 9557 980/sshd
tcp6 0 0 :::25 :::* ESCUTA 0 11603 1232/master
tcp6 0 0 ::1:6010 :::* ESCUTA 1000 21170 3082/1
tcp6 0 0 :::993 :::* ESCUTA 0 10583 986/dovecot
我的问题是:如果我发送电子邮件,为什么看不到收件箱?我也尝试过使用 POP3...
更新:
文件摘录:/var/log/mail.log:
Jan 29 15:07:43 Ubuntu postfix/error[3196]: AA1E22C3528: to=<[email protected]>, relay=none, delay=59795, delays=59795/0.06/0/0, dsn=4.4.2, status=deferred (delivery temporarily suspended: lost connection with Ubuntu[private/dovecot-lmtp] while receiving the initial server greeting)
Jan 29 15:11:03 Ubuntu postfix/scache[3193]: statistics: start interval Jan 29 15:07:43
Jan 29 15:11:03 Ubuntu postfix/scache[3193]: statistics: domain lookup hits=0 miss=2 success=0%
Jan 29 15:12:43 Ubuntu postfix/qmgr[3157]: 225BE2C3568: from=<[email protected]>, size=519, nrcpt=1 (queue active)
Jan 29 15:12:43 Ubuntu dovecot: lmtp(3217): Fatal: Error reading configuration: Invalid settings: postmaster_address setting not given
Jan 29 15:12:43 Ubuntu postfix/lmtp[3216]: 225BE2C3568: to=<[email protected]>, relay=Ubuntu[private/dovecot-lmtp], delay=58634, delays=58634/0.03/0.01/0, dsn=4.4.2, status=deferred (lost connection with Ubuntu[private/dovecot-lmtp] while receiving the initial server greeting)
Jan 29 15:17:43 Ubuntu postfix/qmgr[3157]: 083672C3576: from=<[email protected]>, size=697, nrcpt=1 (queue active)
Jan 29 15:17:43 Ubuntu dovecot: lmtp(3225): Fatal: Error reading configuration: Invalid settings: postmaster_address setting not given
Jan 29 15:17:43 Ubuntu postfix/lmtp[3224]: 083672C3576: to=<[email protected]>, relay=Ubuntu[private/dovecot-lmtp], delay=57731, delays=57731/0.03/0.01/0, dsn=4.4.2, status=deferred (lost connection with Ubuntu[private/dovecot-lmtp] while receiving the initial server greeting)
Jan 29 15:20:52 Ubuntu dovecot: imap-login: Login: user=<[email protected]>, method=PLAIN, rip=85.242.102.178, lip=192.168.1.104, mpid=3232, TLS, session=<wzqYCMwNSQBV8may>
Jan 29 15:22:43 Ubuntu postfix/qmgr[3157]: 369702C3665: from=<>, size=2930, nrcpt=1 (queue active)
Jan 29 15:22:43 Ubuntu postfix/qmgr[3157]: F0A022C3538: from=<[email protected]>, size=1260, nrcpt=1 (queue active)
Jan 29 15:22:43 Ubuntu postfix/qmgr[3157]: 0A11C2C3581: from=<[email protected]>, size=525, nrcpt=3 (queue active)
Jan 29 15:22:43 Ubuntu dovecot: lmtp(3654): Fatal: Error reading configuration: Invalid settings: postmaster_address setting not given
Jan 29 15:22:43 Ubuntu dovecot: lmtp(3657): Fatal: Error reading configuration: Invalid settings: postmaster_address setting not given
Jan 29 15:22:43 Ubuntu postfix/lmtp[3652]: 369702C3665: to=<[email protected]>, relay=Ubuntu[private/dovecot-lmtp], delay=30046, delays=30046/0.03/0.01/0, dsn=4.4.2, status=deferred (lost connection with Ubuntu[private/dovecot-lmtp] while receiving the initial server greeting)
Jan 29 15:22:43 Ubuntu postfix/lmtp[3653]: F0A022C3538: to=<[email protected]>, relay=Ubuntu[private/dovecot-lmtp], delay=21441, delays=21441/0.02/0.01/0, dsn=4.4.2, status=deferred (lost connection with Ubuntu[private/dovecot-lmtp] while receiving the initial server greeting)
Jan 29 15:22:43 Ubuntu dovecot: lmtp(3660): Fatal: Error reading configuration: Invalid settings: postmaster_address setting not given
Jan 29 15:22:43 Ubuntu postfix/lmtp[3652]: 0A11C2C3581: to=<[email protected]>, relay=Ubuntu[private/dovecot-lmtp], delay=30047, delays=30047/0.03/0.02/0, dsn=4.4.2, status=deferred (lost connection with Ubuntu[private/dovecot-lmtp] while receiving the initial server greeting)
Jan 29 15:26:03 Ubuntu postfix/scache[3659]: statistics: start interval Jan 29 15:22:43
Jan 29 15:26:03 Ubuntu postfix/scache[3659]: statistics: domain lookup hits=0 miss=1 success=0%
Jan 29 15:29:44 Ubuntu postfix/smtpd[3765]: connect from nk11p03mm-asmtp001.mac.com[17.158.232.236]
Jan 29 15:29:45 Ubuntu postfix/smtpd[3765]: BE8582C34DE: client=nk11p03mm-asmtp001.mac.com[17.158.232.236]
Jan 29 15:29:45 Ubuntu postfix/cleanup[3776]: BE8582C34DE: message-id=<[email protected]>
Jan 29 15:29:45 Ubuntu postfix/qmgr[3157]: BE8582C34DE: from=<[email protected]>, size=1267, nrcpt=1 (queue active)
Jan 29 15:29:45 Ubuntu dovecot: lmtp(3780): Fatal: Error reading configuration: Invalid settings: postmaster_address setting not given
Jan 29 15:29:45 Ubuntu postfix/lmtp[3779]: BE8582C34DE: to=<[email protected]>, relay=Ubuntu[private/dovecot-lmtp], delay=0.23, delays=0.21/0.01/0.01/0, dsn=4.4.2, status=deferred (lost connection with Ubuntu[private/dovecot-lmtp] while receiving the initial server greeting)
Jan 29 15:29:46 Ubuntu postfix/smtpd[3765]: disconnect from nk11p03mm-asmtp001.mac.com[17.158.232.236]
结果:telnet cr7akg.com smtp
Trying 85.242.102.178...
Connected to cr7akg.com.
Escape character is '^]'.
220 Ubuntu ESMTP Postfix (Ubuntu)
结果:telnet 192.168.1.104 smtp
Trying 192.168.1.104...
Connected to ubuntu.lan.
Escape character is '^]'.
220 Ubuntu ESMTP Postfix (Ubuntu)
答案1
找到了这个解决方案:
在 /etc/dovecot/conf.d/20-lmtp.conf 中添加:
protocol lmtp {
postmaster_address = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf # required
mail_plugins = quota
}
可能是这样的:
protocol lmtp {
# Space separated list of plugins to load (default is global mail_plugins).
#mail_plugins = $mail_plugins
}
答案2
就我的情况而言,我的 dovecot 配置中的日志路径有问题。请确保检查 dovecot 日志以查找可能的错误。