首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后缀不拒绝未知用户

问后缀不拒绝未知用户
EN

Server Fault用户
提问于 2020-12-11 09:59:39
回答 1查看 293关注 0票数 0

到目前为止

这个答案很有帮助。

https://serverfault.com/a/793202/604224

The Issue

我在virtualbox中配置了一个虚拟邮箱以进行测试,但是它似乎接受所有用户,即使是在virtual_mailbox_maps中没有定义的用户,这是尽管清除了mydestination (因此它没有作为本地邮件处理)并添加了一些smtpd_recipient_restrictions

测试时,将邮件发送到不存在的邮箱(但退出域),例如

代码语言:javascript
复制
echo "This is the body of the email" | mail -s "This is the subject line" noemail@laravel8.test

/var/log/maillog显示

代码语言:javascript
复制
postfix/qmgr[14474]: E890D1883308: from=, size=470, nrcpt=1 (queue active)
E890D1883308: to=, relay=myhook, delay=0.6, delays=0.03/0.01/0/0.56, dsn=2.0.0, status=sent (delivered via myhook service)

这意味着它被接受并被发送到虚拟传输而没有拒绝。

会喜欢帮忙的

Config

代码语言:javascript
复制
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
compatibility_level = 2
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
meta_directory = /etc/postfix
mydestination =
mydomain = laravel8.test
myhostname = laravel8.test
mynetworks_style = class
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix/README_FILES
sample_directory = /usr/share/doc/postfix/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
shlib_directory = /usr/lib64/postfix
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtp_tls_CApath = /etc/pki/tls/certs
smtp_tls_security_level = may
smtpd_recipient_restrictions = reject_unknown_recipient_domain reject_unauth_destination reject_unverified_recipient
smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem
smtpd_tls_key_file = /etc/pki/tls/private/postfix.key
smtpd_tls_security_level = may
unknown_local_recipient_reject_code = 550
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-email2email.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_transport = myhook:dummy

mysql文件配置

mysql:/etc/postfix/mysql-virtual-email2email.cf = virtual_alias_maps

代码语言:javascript
复制
user = root
password =
hosts = 127.0.0.1
dbname = laravel
query = SELECT CONCAT(account, '@', domain) FROM mailbox WHERE account='%u' AND domain='%d'

mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf = virtual_mailbox_domains

代码语言:javascript
复制
user = root
password =
hosts = 127.0.0.1
dbname = laravel
query = SELECT domain FROM mailbox WHERE domain='%s' LIMIT 1

mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf = virtual_mailbox_maps

代码语言:javascript
复制
user = root
password =
hosts = 127.0.0.1
dbname = laravel
query = SELECT 1 FROM mailbox WHERE account='%u' AND domain='%d'
EN

回答 1

Server Fault用户

回答已采纳

发布于 2020-12-11 11:30:40

问题是这个配置行

代码语言:javascript
复制
smtpd_recipient_restrictions = reject_unknown_recipient_domain reject_unauth_destination reject_unverified_recipient

你必须检查收信人在你的限制中的入口。查看check_recipient_access配置参数:

代码语言:javascript
复制
smtpd_recipient_restrictions = 
    reject_unknown_recipient_domain,
    reject_unauth_destination,
    reject_unverified_recipient,
    check_recipient_access mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1045805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档