邮件服务器无法发送/接收任何邮件

邮件服务器无法发送/接收任何邮件

首先,我只想说,在邮件服务器方面,我完全是一个新手,而且可能存在一些明显的错误,只是让我发布这个帖子看起来很愚蠢。

我一直在尝试首次在我的 Azure ubuntu 服务器上设置邮件服务器,现在已经挣扎了好几个小时。我为我的网络服务器运行 Apache2、php7、mysql、phpmyadmin,并且运行正常。

在过去的一天里,我安装了:Postfix、Dovecot、SpamAssassin、ClamAV、Sieve 和 Roundcube。然后按照大量指南进行配置。一切都已启动并运行。

我现在登录 Roundcube 来测试一切。但是,我无法发送或接收任何邮件。我甚至无法向我登录的同一邮件地址发送邮件。日志文件中唯一的错误消息是

SMTP 错误(553):无法添加收件人“[电子邮件保护]“(5.7.1:发件人地址被拒绝:未登录)

所以我猜防火墙有问题。 UFW 或 Azure 门户上的防火墙都有问题。 也许是买的。 它们应该打开相同的端口。 我在下面包含了一些输出,显示了哪些端口是打开的。 或者我的 DNS 记录可能有问题。

我是否必须打开 25 个以上的端口才能使电子邮件服务器正常工作?我是否必须将其设置为在 tcp 和 udp 中打开?如果我必须打开更多端口,我应该打开哪些端口?

邮件服务器还设置了付费的 SSL 证书。下面添加了一些输出,可能会有所帮助。

Ufw 状态

Apache Full                ALLOW       Anywhere 
Postfix                    ALLOW       Anywhere 
22/tcp                     ALLOW       Anywhere
25/tcp                     ALLOW       Anywhere 
3389/tcp                   ALLOW       Anywhere 
Apache Full (v6)           ALLOW       Anywhere (v6) 
Postfix (v6)               ALLOW       Anywhere (v6) 
22/tcp (v6)                ALLOW       Anywhere (v6) 
25/tcp (v6)                ALLOW       Anywhere (v6) 
3389/tcp (v6)              ALLOW       Anywhere (v6)

净统计

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address  State    PID/Program name
tcp        0      0 127.0.0.1:5910   0.0.0.0:*        LISTEN   2782/Xvnc
tcp        0      0 127.0.0.1:3350   0.0.0.0:*        LISTEN   1823/xrdp-sesman
tcp        0      0 0.0.0.0:22       0.0.0.0:*        LISTEN   1537/sshd
tcp        0      0 0.0.0.0:25       0.0.0.0:*        LISTEN   2155/master
tcp        0      0 0.0.0.0:3389     0.0.0.0:*        LISTEN   1814/xrdp
tcp        0      0 0.0.0.0:4190     0.0.0.0:*        LISTEN   1439/dovecot
tcp        0      0 0.0.0.0:993      0.0.0.0:*        LISTEN   1439/dovecot
tcp        0      0 127.0.0.1:3306   0.0.0.0:*        LISTEN   1562/mysqld
tcp        0      0 0.0.0.0:587      0.0.0.0:*        LISTEN   2155/master
tcp        0      0 0.0.0.0:25324    0.0.0.0:*        LISTEN   1978/ruby
tcp        0      0 0.0.0.0:143      0.0.0.0:*        LISTEN   1439/dovecot
tcp6       0      0 :::22            :::*             LISTEN   1537/sshd
tcp6       0      0 :::25            :::*             LISTEN   2155/master
tcp6       0      0 :::443           :::*             LISTEN   2196/apache2
tcp6       0      0 :::4190          :::*             LISTEN   1439/dovecot
tcp6       0      0 :::993           :::*             LISTEN   1439/dovecot
tcp6       0      0 :::587           :::*             LISTEN   2155/master
tcp6       0      0 :::143           :::*             LISTEN   1439/dovecot
tcp6       0      0 :::80            :::*             LISTEN   2196/apache2

DNS 记录

Hostname   TTL   RR-Type  Parameters   Data
rajohan.no  1hour  A  - 52.232.21.85
rajohan.no 24hours MX 10 mail.rajohan.no
rajohan.no  24 hours TXT - "v=spf1 mx a ?all"
mail.rajohan.no 24 hours A - 52.232.21.85
mail._domainkey.rajohan.no 24 hours TXT - "v=DKIM1; h=sha256; k=rsa; s=email; "       "p=M......"

Telnet 本地主机 25

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.rajohan.no ESMTP

答案1

您的 RoundCube 配置似乎缺少与 SMTP 相关的所有变量。这很可能就是您收到错误消息的原因not logged in

以下是我安装的 RoundCube 中的值(我基本上有相同的设置):

// IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or null to use
// best server supported one)
$config['imap_auth_type'] = 'LOGIN';

$config['smtp_server'] = 'tls://mail.example.com';
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
// SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
// best server supported one)
$config['smtp_auth_type'] = 'LOGIN';

您可能需要根据您的设置调整身份验证类型。

答案2

如果您无法发送邮件,问题可能是由于您的 ISP(Internet 服务提供商)的限制,因为许多 ISP 出于自身安全考虑封锁了正常的 sendmail 端口 25。即使最近发送正常,也可能出现这种情况,因为某些 ISP 会在没有警告的情况下实施这些更改。

为了让您了解端口 25 阻止的普遍性,我们在下面提供了一些主要 ISP 的链接及其有关端口 25 阻止的在线文档:

相关内容