在阅读我的 smtp/邮件服务器的日志时有点困惑,我把这个问题转给你们。
在邮件日志文件中,我看到postfix/smtp以及postfix/smtpd 的条目。我还可以看到文件 main.cf 中有 smtp 和 smtpd 的可能设置
试图通过谷歌搜索找到一些合理的解释似乎是不可能的,所以这是我给你们的问题。
我的服务器有点受损,垃圾邮件通过postfix/smtp而不是 smtpd。请帮我理解。提前致谢!
我刚开始使用 EC2 实例并删除了我的邮件发送限制,允许我从我的实例发送电子邮件。但是由于缺乏经验,我不知道如何在该服务器上接收发送给我的电子邮件。
该实例有一个弹性 IP,我有一个域名,其中 A 记录指向该 IP。我似乎找不到关于需要采取哪些步骤的更好文档,所以如果有人向 info@mysite.com 发送电子邮件,它要么实际收到它,要么只是将其转发到我的个人电子邮件。
我知道它涉及使用 postfix,但在安装后找不到正确配置它的指南。
我在限制从同一客户端到 Postfix 服务器的并发连接数时遇到问题。限制来自相同或不同客户端的最大并发进程数很容易完成。
main.cf
以下是我为此使用的两个参数:
default_process_limit = 50
smtpd_client_connection_count_limit = 25
Run Code Online (Sandbox Code Playgroud)
测试时,我从同一客户端运行 100 个并发连接(线程),但它限制为 50 个 smtpd 进程,而不是 25 个。以下是我计算smtpd
服务器上进程的方式:
ps -C smtpd | wc -l
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会发生这种情况?
Postfix 参数smtpd_banner
设置服务器的 SMTP 问候横幅文本。默认设置是:
smtpd_banner = $myhostname ESMTP $mail_name
Run Code Online (Sandbox Code Playgroud)
我的邮件服务器分配有多个唯一的 IP 地址,每个域分配一个 IP 地址来托管电子邮件。换句话说,是这样的:
203.0.113.1
为了example1.com
203.0.113.2
为了example2.com
203.0.113.3
为了example3.com
想要发送电子邮件的发送服务器将使用和user@example2.com
访问该服务器。example2.com
203.0.113.2
我希望 SMTP 横幅能够反映用于访问邮件服务器的域。例如,某人使用example2.com
或203.0.113.2
应该看到 SMTP 横幅访问服务器:
example2.com ESMTP Postfix
Run Code Online (Sandbox Code Playgroud)
$myhostname
使用其他域或 IP 地址进行访问的任何人都应该看到打印在默认设置中的相应域。
这对于 Postfix 是否可行,最好不要运行多个 Postfix 实例,如果可以,如何实现?
从我的本地网络发送电子邮件一切顺利。还可以通过 Thunderbird 或使用本地安装的 Roundcube 进行远程操作。但现在,我在亚洲,尝试使用 Thunderbird 发送电子邮件。日志中出现以下错误:
postfix/submission/smtpd[4588]: NOQUEUE: reject: RCPT from unknown[110.170.163.146]: 450 4.7.1 Client host rejected: cannot find your reverse hostname, [110.170.163.146]; from=<<me>@<mydomain.com>> to=<<me>@<mydomain.co>> proto=ESMTP helo=<[10.10.3.55]>
Run Code Online (Sandbox Code Playgroud)
dig +short -t A mail.<mydomain.com> 给出:xxx.xxx.xxx.xxx,我的服务器的 IP。
dig +short -x 110.170.163.146 给出:110-170-163-146.static.asianet.co.th。在这里你可以看到,我现在在泰国。
在雷鸟我有:
Server Name: mail.<mydomain.com>
Port: 587
Connection security: STARTTLS
Authentication method: Normal password
Username: <me>@<mydomain.com>
Run Code Online (Sandbox Code Playgroud)
master.cf 中的所有 smtpd 行:
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_tls_wrappermode=no
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
-o smtpd_sasl_auth_enable=yes
-o …
Run Code Online (Sandbox Code Playgroud) 在 postfix 中,我无法接收来自特定域的邮件,但我可以向它发送邮件。
出于某种原因,postfix 认为域是内部的,如果我错了,请纠正我?
来自 postfix 邮件日志的示例:
Sep 17 18:45:52 smail1 postfix/smtp[23241]: 269D140A92: to=<prvs=7337e4471e=johnd@abc.co.il>, relay=mail1.abc.co.il[5.6.7.8]:25, delay=0.28, delays=0/0/0.27/0.01, dsn=5.0.0, status=undeliverable (host mail1.abc.co.il[5.6.7.8] said: 550 Recipient address rejected: User unknown (in reply to RCPT TO command))
Sep 17 18:45:55 smail1 postfix/smtpd[23196]: send attr address = prvs=7337e4471e=johnd@abc.co.il
Sep 17 18:45:55 smail1 postfix/smtpd[23196]: input attribute value: host mail1.abc.co.il[5.6.7.8] said: 550 Recipient address rejected: User unknown (in reply to RCPT TO command)
Sep 17 18:45:55 smail1 postfix/smtpd[23196]: check_mail_access: prvs=7337e4471e=johnd@abc.co.il
Sep 17 18:45:55 smail1 postfix/smtpd[23196]: …
Run Code Online (Sandbox Code Playgroud) postfix ×6
smtpd ×6
hostname ×2
smtp ×2
amazon-ec2 ×1
centos ×1
centos6 ×1
concurrency ×1
domain ×1
email ×1