首先,我只想说,在邮件服务器方面,我完全是一个新手,而且可能存在一些明显的错误,只是让我发布这个帖子看起来很愚蠢。
我一直在尝试首次在我的 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 阻止的在线文档: