我在上面的错误中挣扎了 5 个多小时。我曾尝试完全删除 Postfix,并按照下一个手册和SASL 手册的说明重新安装它。
当我尝试使用 telnet 登录时,服务器阻止了登录,我得到了这个:(使用 smtpd -v 更详细):
postfix/smtpd[26301]:xsasl_cyrus_server_create:SASL 服务=smtp,领域=(空) postfix/smtpd[26301]: name_mask: noanonymous postfix/smtpd[26301]:警告:xsasl_cyrus_server_get_mechanism_list:没有适用的 SASL 机制 postfix/smtpd[26301]:致命:没有 SASL 身份验证机制
以下是结果postconf -n:
alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases allow_percent_hack = 否 append_dot_mydomain = 否 比夫 = 否 broken_sasl_auth_clients = 是 config_directory = /etc/postfix home_mailbox = Maildir/ inet_interfaces = 全部 邮箱命令 = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME 邮箱大小限制 = 0 mydestination = theflipapp.com, localhost.com, , localhost myhostname = theflipapp.com 我的网络 = 127.0.0.0/8 …
我已经使用 SMTP AUTH(端口 587 上的 STARTTLS)设置了 Postfix 服务器。我所有的用户都在域“example.org”中。我想强制发件人地址为“logged-in-user@example.org”。
我了解到这可以通过 main.cf 选项来实现
smtpd_sender_restrictions = reject_sender_login_mismatch, ...
smtpd_sender_login_maps = hash:/etc/postfix/smtpd_sender_login_maps
Run Code Online (Sandbox Code Playgroud)
使用 login_maps 文件,例如:
a@example.org a
b@example.org b
c@example.org c
...
Run Code Online (Sandbox Code Playgroud)
(另请参阅使用 SMPT AUTH 阻止发件人地址欺骗),但这意味着每次有新用户时我都必须编辑 login_maps 文件。我不需要这么灵活的映射:它应该始终是“logged-in-user@example.org”。有没有更简单的选择?
我有一个运行 Postfix 2.5.1 的 Ubuntu 8.04LTS 系统。在该系统上 SMTP AUTH 运行良好。内容为
/etc/postfix/sasl/smtpd.conf:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN
Run Code Online (Sandbox Code Playgroud)
SASL 相关的属性是:
smtpd_sasl_type = cyrus
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname
Run Code Online (Sandbox Code Playgroud)
当我这样做时sudo sasldblistusers2:
authusername@mail.mydomain.com: userPassword
Run Code Online (Sandbox Code Playgroud)
就像我说的,在 8.04LTS 系统上一切正常。
但是,我正在尝试将其迁移到运行 Postfix 2.9.3 的 Ubuntu 12.04LTS 系统,但我无法让它工作。我做的一切都是一样的,但是 postfix 每次都会导致身份验证失败。
这不是/etc/sasldb2文件。我试过从旧系统带过来文件,但不起作用。我使用以下命令创建了一个新文件:
saslpasswd2 -c -u mail.mydomain.com authusername
Run Code Online (Sandbox Code Playgroud)
而不起作用,但它WILL老系统上工作,如果我把它复制到旧的系统,这是我怎么知道有没有错的文件。
同样,我知道 postfix 正在查看该smtpd.conf文件。如果我mech_list在文件行中添加更多机制,当我连接到 smtpd 守护程序时,我会看到这些额外的机制被通告。当我删除它们时,它们又消失了。所以/etc/postfix/sasl/smtpd.conf显然正在被使用。 …
尝试使用 zend mail smtp 从我的 php 应用程序登录发送电子邮件经过身份验证并给我这个持续错误我不必处理我在 serverfault.com 上查看 de 36 问题这里更改参数,因为他们解释没有成功。
数据:
Telnet 到 587 看起来像这样:
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.mydomain.com ESMTP Postfix
ehlo localhost
250-mail.mydomain.com
250-PIPELINING
250-SIZE …Run Code Online (Sandbox Code Playgroud) 如何将 DKIM 功能添加到 IIS 7.5 - Windows Server 2008
域密钥识别邮件
我使用 Postfix 作为 MTA 和中继。希望从远程系统发送电子邮件的用户进行身份验证,Postfix 将其交给 Dovecot,这很有效。但是如何限制哪些用户可以使用 SMTP+身份验证,而不限制对 POP 或 IMAP 的访问?
对我来说,块是在 Dovecot 的 SASL 身份验证中还是通过 Postfix 在表中查找都没有关系。
对 SMTP 使用 Postfix 2.9.6,对 POP、IMAP 和 SASL 使用 Dovecot 2.0.19。虚拟用户存储在 MySQL 5.5.40 中。
root@mx1:~# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
home_mailbox = Maildir/
inet_interfaces = all
mailbox_size_limit = 0
message_size_limit = 51200000
mydestination = localhost, mx1.mydomain.tld
myhostname = virtmx.mydomain.tld
mynetworks = /etc/postfix/mynetworks
myorigin = /etc/mailname
policy-spf_time_limit = 3600s
readme_directory …Run Code Online (Sandbox Code Playgroud) 这是问题所在:从不属于您的邮件服务器的任何 IP 地址:
telnet me.myemailserver.com 25
helo me.someserver.com
mail from: <yourusername@mydomain.com>
rcpt to: <yourusername@mydomain.com>
data
This is spam. Buy my stuff.
.
Run Code Online (Sandbox Code Playgroud)
我正在使用 Postfix。我在寻找要求 SMTP-AUTH 来处理声称来自 mydomain.com 的电子邮件时遇到问题。
谷歌搜索,这个人发现了同样的问题(我在那里进行了一些修改的剪切粘贴)上面的例子来自:http : //www.smartertools.com/forums/t/13182.aspx
此链接 http://marc.info/?l=postfix-users&m=122814832915131&w=2 接近解决方案,但它有一个副作用,即要求 SMTP-AUTH 用于不是来自 mydomain.com 的邮件。对于未声称来自 mydomain.com 的邮件,我会执行通常的 RBL 和垃圾邮件过滤。
简而言之,我想拒绝来自声称来自本地域 (mydomain.com) 的外部/未经身份验证的客户端发送到本地域 (mydomain.com) 的邮件。
这就是我尝试过的:我已经尝试将允许和拒绝作为默认设置。这是我的 main.cf 的确切摘录:
smtpd_recipient_restrictions = reject_unauth_pipelining,
permit_sasl_authenticated,
check_recipient_access pgsql:/etc/postfix/pgsql-recipient.cf,
reject_unauthenticated_sender_login_mismatch,
reject_unauth_destination,
reject_unlisted_recipient,
check_sender_access pgsql:/etc/postfix/pgsql-sender.cf,
reject_unlisted_sender,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client …Run Code Online (Sandbox Code Playgroud) 我目前只允许来自邮件过滤服务 IP 的端口 25 上的连接。
我在另一个端口上运行 Exim 以进行 SMTP 提交。这个端口现在需要允许非加密连接,所以我不能依赖在端口上强制使用 TLS。
我想将 Exim 配置为在备用端口上丢弃未经身份验证的 SMTP 连接,以防止垃圾邮件发送者直接连接并向用户发送垃圾邮件。
我将如何配置此 ACL?
我在 /etc/postfix/main.cf 中有:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
Run Code Online (Sandbox Code Playgroud)
并且 SASL 似乎正在工作:
$ testsaslauthd -u yang -p ... -f /var/spool/postfix/var/run/saslauthd/mux -s smtpd
0: OK "Success."
Run Code Online (Sandbox Code Playgroud)
但是从网络外部连接时,我收到“中继访问被拒绝”(例如 localhost 仍然可以正常工作):
$ telnet blah.com 25
auth plain ...
235 2.7.0 Authentication successful
mail from:<yang@blah.com>
250 2.1.0 Ok
rcpt to:<yang@dest.com>
554 5.7.1 <yang@dest.com>: Relay access denied
Run Code Online (Sandbox Code Playgroud)
日志:
Oct 18 21:10:19 blah postfix/smtpd[13882]: connect from unknown[x.x.x.x]
Oct 18 21:10:19 blah postfix/smtpd[13882]: setting up TLS connection from unknown[x.x.x.x]
Oct 18 21:10:19 blah postfix/smtpd[13882]: Anonymous …Run Code Online (Sandbox Code Playgroud) 我查过了
但在支持的标准中看不到RFC 3848。我确实看到RFC 4954中列出,其中“建议使用RFC 3848传输类型”,虽然我不能告诉如果这意味着与4954的任何邮件服务器兼容必须也符合3848。
具体来说,我试图找出 Exchange 是否能够将“ESMTPA”或“ESMTPSA”扩展名添加到电子邮件标头以指示 SMTP 身份验证。如果 Exchange 不支持此标准,那似乎很奇怪……
谢谢你。
我正在尝试postfix在 Ubuntu 13.04 上进行设置,但到目前为止还没有运气。我在 ServerFault 上找到了一些不起作用的答案。重装了好几次都没用 这是我第一次处理它,我遵循了本教程和本教程。我试过这个答案,没有。这是我得到的telnet localhost 25和ehlo localhost:
250-elclanrs.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,里面没有AUTH...
这是我的main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8 192.168.1.0/24 [::1]/128 [fe80::]/64
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all …Run Code Online (Sandbox Code Playgroud) 由于我的 Comcast IP 在 Spamhaus PBL 上,我发送给 D-Link 的电子邮件被退回。Spamhaus 表示无法从列表中删除,绕过此过滤器的唯一方法是启用 SMTP-AUTH。但是,我通过 SSL 连接到我的主机(Total Choice Hosting)SMTP 服务器并使用我的用户名和密码进行身份验证,标题中的“with esmtpsa”似乎表明我的邮件已正确验证。不知道 D-Link 的服务器是否坏了,或者你能发现其他阻止我的电子邮件通过的错误吗?
退回的消息如下所示:
此消息是由邮件传递软件自动创建的。
您发送的消息无法传送到其中一个或多个
收件人。这是一个永久性错误。以下地址失败:
ustech@dlink.com
数据结束后来自远程邮件服务器的 SMTP 错误:
主机relay.dlink.com [192.152.81.15]:554服务不可用;客户端主机 [riker.tchmachines.com] 被 zen.spamhaus.org 屏蔽;http://www.spamhaus.org/query/bl?ip=24.5.171.149
------ 这是邮件的副本,包括所有标题。------
返回路径:
收到:来自 c-24-5-171-149.hsd1.ca.comcast.net ([24.5.171.149] helo=[192.168.3.99])
由 riker.tchmachines.com和 esmtpsa (TLSv1:AES256-SHA:256)
(出口 4.69)
(信封-来自 <xxxxx@xxxxx.com>)
编号 1NGp49-0000Ta-DY
对于 ustech@dlink.com;2009 年 12 月 5 日星期六 02:28:29 -0500
消息 ID:<4B1A0B88.2060001@ideanest.com>
日期:2009 年 12 月 4 日星期五 23:28:08 -0800
来自:Piotr Kaminski <xxxxx@xxxxx.com>
用户代理:Thunderbird 2.0.0.23 (Windows/20090812)
MIME 版本:1.0
至:ustech@dlink.com
主题:回复:D-Link … 我的邮件服务器在阻止一些试图 telnet 到我们邮件服务器的攻击者时遇到问题。但我无法阻止它,即使我们通过 ip 阻止,ip 也会不断变化。似乎他正在尝试从 smtp 事务中 telnet 而不是正常的。他们无法进入我们的电子邮件服务器,但这是每秒一次的交易。有没有办法阻止它/阻止它?以下是错误信息:
81.198.214.48 [0968] 16:14:01 Connected, local IP=xx.xx.xx.xx:25
81.198.214.48 [0968] 16:14:01 >>> 220 mymailserver.com ESMTP IceWarp 11.0.1.2; Fri, 13 Feb 2015 16:14:01 +0800
81.198.214.48 [0968] 16:14:02 <<< EHLO ylmf-pc
81.198.214.48 [0968] 16:14:02 >>> 250-mymailserver.com Hello ylmf-pc [81.198.214.48], pleased to meet you.
81.198.214.48 [0968] 16:14:03 <<< AUTH LOGIN
81.198.214.48 [0968] 16:14:03 >>> 334 VXNlcx5hbWU6
81.198.214.48 [0968] 16:14:04 <<< aGFua3M=
81.198.214.48 [0968] 16:14:04 >>> 334 UGFzcxdvcmQ6
81.198.214.48 [0968] 16:14:04 <<< ODg4ODg4
81.198.214.48 [0968] 16:14:24 …Run Code Online (Sandbox Code Playgroud)