RFC 5321 将电子邮件地址限制为 7 位 US-ASCII 编码。RFC 6531(一个相当新的规范)允许 SMTP 命令和 IMF 标头中的电子邮件地址以 UTF-8 编码。这个 SMTP 扩展使得国际化的电子邮件地址(例如,pelé@example.com)成为可能。
SMTP 服务器通过EHLO使用SMTPUTF8关键字回复命令来宣传对国际化电子邮件的支持:
250-smtp.example.com at your service
250 SMTPUTF8
Run Code Online (Sandbox Code Playgroud)
SMTP 客户端通过以下MAIL命令使用此扩展:
MAIL FROM:<pelé@example.com> SMTPUTF8
Run Code Online (Sandbox Code Playgroud)
问:是否有支持 SMTPUTF8 的 SMTP 服务器或电子邮件客户端?
...这很难用标题来描述。此描述应突出问题。
10-master
....
service auth {
unix_listener auth-userdb {
mode = 0644
user = vmail
group = vmail
}
...
Run Code Online (Sandbox Code Playgroud)
编辑 - 附加配置信息(一些重叠)
service auth {
# auth_socket_path points to this userdb socket by default. It's typically
# used by dovecot-lda, doveadm, possibly imap process, etc. Its default
# permissions make it readable only by root, but you may need to relax these …Run Code Online (Sandbox Code Playgroud) 我有邮件服务器 Postfix+Saslauth。我为 Postfix 配置了多个实例:
后缀
后缀出
和两个实例saslauth:
萨斯劳德
saslauthd-out
设置saslauthd用于验证Postfix服务及其saslauthd-out另一个实例。
为了创建sasl我的第二个实例,我这样做:
cp /etc/default/saslauthd /etc/default/saslauthd-out
使用此配置: :~# vim /etc/default/saslauthd-out
DESC="SASL Authentication Daemon postfix-out"
NAME="saslauthd-out"
MECHANISMS="pam"
OPTIONS="-c -m /var/spool/postfix-out/var/run/saslauthd-out"
Run Code Online (Sandbox Code Playgroud)
在后缀输出(/etc/postfix-out/sasl/smtp.conf)的配置中:
pwcheck_method: saslauthd-out
Run Code Online (Sandbox Code Playgroud)
和后缀(/etc/postfix/sasl/smtp.conf):
pwcheck_method: saslauthd
Run Code Online (Sandbox Code Playgroud)
当我重新启动时saslauth一切正常
当我尝试连接smtp server(postfix) 时,一切正常,并且身份验证成功,但在smtp server(postfix-out) 中,连接到 smtp 正常,但无法进行身份验证,并且发生了此错误:
:~# telnet mail2.example.com 25
Trying 111.222.333.444...
Connected to mail2.example.com.
Escape character is '^]'.
220 mail2.example.com ESMTP Postfix (@@DISTRO@@)
auth plain YWdoc2EAYWdoc2hhbGRvcmFu
535 5.7.8 …Run Code Online (Sandbox Code Playgroud) 我有一个在 VM 上运行的 postfix 实例。如果我们超过每分钟 SMTP 连接的阈值,VM 提供程序会关闭我们 - 大约 10。在一个典型的一天中,我们可能会发送 1000 条消息,所以 10 是可以的。然而它是一个邮递员服务器,所以峰值速率经常超过 10。然后端口 25 被阻塞了一段时间。这会造成积压。对积压的重试会产生远高于 10 的连接“爆发”。最终结果是,一旦我们被阻止,我们就会一直被阻止,直到有人手动干预。
“明显”的修复似乎是为了确保 postfix 保持在限制范围内 - 即出站连接节流。或者至少将运行的 smtp 交付进程数限制为 1。
有没有办法做到这一点?
我编写了一个网站,使用 PHP Pear Mail 功能发送几封电子邮件。主要是针对丢失密码的人和我,当有人提交“联系我们”表格时。
我的问题是:由于我从自己的服务器 IP 地址向自己发送电子邮件,因此我是否在“发件人”或“回复”标头中使用客户的电子邮件地址?
将其放在 Reply-To 标头中是有意义的,因为这绝对是我想要做的。
然而,许多电子邮件客户端似乎最适合使用位于“发件人:”标题中的客户姓名和电子邮件信息。
“伪造”电子邮件中的 From: 标头是否安全?或者我什至伪造了发件人?
我的意思是......从技术上讲......客户端正在发送消息,它只是源自我的服务器。
此致 -somebody_who_knows_nothing_about_email_deployment_and_is_worried_about_having_his_IP_blacklisted
根据本指南:
保护您的服务器并确保 Postfix 未配置为开放中继非常重要。
它链接到另一个建议使用 UFW 作为防火墙的指南。
我正在 Ubuntu 上运行 Apache,并使用需要发送电子邮件的 PHP 应用程序。我已经安装了 postfix 作为我的邮件服务器。
到目前为止我已经配置了 UFW:
sudo ufw allow ssh
sudo ufw allow www
Run Code Online (Sandbox Code Playgroud)
要允许发送电子邮件,我需要告诉 UFW 允许 smtp 吗?:
sudo ufw allow smtp
Run Code Online (Sandbox Code Playgroud)
我还需要做什么才能发送电子邮件吗?
我在 exim4 的主日志中有这样的日志。我对 exim4 所做的只是学习,所以所有邮件都是假的。现在我尝试管理这些频繁出现的日志:
2016-12-20 14:28:01 1cJ2UW-0006Yq-3m == root@adammax.tk R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached
2016-12-20 14:28:01 1cJ8rt-0001Ur-Qj == root@adammax.tk R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached
2016-12-20 14:28:01 1cJ2YZ-0000W9-W5 == root@adammax.tk R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached
2016-12-20 14:28:01 1cIsqP-0002Xn-KY == gogo@linwayedm.com.tw R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
2016-12-20 14:28:01 1cJE0z-00028i-Ve == root@adammax.tk R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached
2016-12-20 14:28:01 1cIrmt-0002Hz-Td …Run Code Online (Sandbox Code Playgroud) 设置电子邮件服务器,我想知道,如果它出现故障怎么办。为了不丢失收到的邮件,我是否需要进行冗余设置?或者确保它不会离线超过一天就足够了吗?
我的系统是带有 postfix、dovecot、pypolicyd-spf、opendkim 的 centos 7。
可以发邮件但是收不到邮件
我注意到警告如下:
Feb 6 20:01:09 srv-8327 postfix/smtpd[20391]: warning: connect to private/policy-spf: No such file or directory
Feb 6 20:01:09 srv-8327 postfix/smtpd[20391]: warning: problem talking to server private/policy-spf: No such file or directory
Feb 6 20:01:10 srv-8327 postfix/smtpd[20391]: warning: connect to private/policy-spf: No such file or directory
Feb 6 20:01:10 srv-8327 postfix/smtpd[20391]: warning: problem talking to server private/policy-spf: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经设置debugLevel = 4了/etc/python-policyd-spf/policyd-spf.conf。
如何找到问题python-policyd-spf?
加:
我终于解决了这个问题: …
我在 Postfix 上有以下 header_checks
/^Received:/ IGNORE
/^X-Originating-IP:/ IGNORE
/^X-Mailer:/ IGNORE
/Message-Id:\s+<(.*?)@www.mainserver.com>/ REPLACE Message-Id: <$1@www.domain.com>
/X-Mailer-LID:/ IGNORE
/^MIME-Version:/i PREPEND Precedence: bulk
/X-Mailer-RecptId:/ IGNORE
/X-Mailer-SID:/ IGNORE
/X-Mailer-Sent-By:/ IGNORE
/List-Unsubscribe:/ IGNORE
Run Code Online (Sandbox Code Playgroud)
一旦我在postfix/main.cf(运行后postmap /etc/postfix/header_checks)激活它们,postfix 就会停止工作。当我尝试发送电子邮件时,我收到以下错误日志
Jun 20 03:19:26 mail postfix/pickup[6813]: F37593F946: uid=0 from=<root@domain.com>
Jun 20 03:19:26 mail postfix/cleanup[6819]: warning: pcre:/etc/postfix/header_checks is unavailable. unsupported dictionary type: pcre
Jun 20 03:19:26 mail postfix/cleanup[6819]: warning: pcre:/etc/postfix/header_checks lookup error for "Received: by mail.domain.com (Postfix, from userid 0)??id F37593F946; Thu, 20 Jun 2019 03:19:26 +0200" …Run Code Online (Sandbox Code Playgroud) email-server ×10
email ×5
postfix ×4
smtp ×3
availability ×1
centos7 ×1
dovecot ×1
exim ×1
linux ×1
pear ×1
saslauthd ×1
spf ×1
ubuntu-12.04 ×1
ubuntu-14.04 ×1
ufw ×1
utf-8 ×1