AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1155904
Accepted
jamminjames
jamminjames
Asked: 2024-03-08 13:43:20 +0800 CST2024-03-08 13:43:20 +0800 CST 2024-03-08 13:43:20 +0800 CST

Postfix 在不同用户名下发送重复的电子邮件,如何解决?

  • 772

我在后缀设置中找不到原因,但在不同的 uid 下发送了重复的电子邮件。查看电子邮件标头,它们具有唯一的 id,并且每个都有不同的Postfix, from userid. 例如,有人说:

Received: by localhost.localdomain (Postfix, from userid 1000)
    id AFFE880C9E43; Thu,  7 Mar 2024 03:04:02 -0800 (PST)

而另一个说:

Received: by localhost.localdomain (Postfix, from userid 0)
    id A076980CB3FD; Thu,  7 Mar 2024 03:04:02 -0800 (PST)

邮件日志显示的postfix/pickup行也显示了两个 uid,然后电子邮件在该postfix/smtp行上发送了两次:

Mar  7 20:57:01 localhost postfix/pickup[1523368]: A0DA580CC916: uid=1000 from=<[email protected]>
Mar  7 20:57:01 localhost postfix/cleanup[1534353]: A0DA580CC916: message-id=<Aej4eFk4CtMsohU6wbxrlXigdloI53zuZDvecHneZ9Y@localhost>
Mar  7 20:57:01 localhost postfix/qmgr[1487578]: A0DA580CC916: from=<[email protected]>, size=1059, nrcpt=1 (queue active)
Mar  7 20:57:01 localhost postfix/pickup[1523368]: C74B180CB50F: uid=0 from=<[email protected]>
Mar  7 20:57:01 localhost postfix/cleanup[1534353]: C74B180CB50F: message-id=<jUeGOoaBFebz2tFQZEhCnoShgiL8EL0RhvaynFZKM@localhost>
Mar  7 20:57:01 localhost postfix/qmgr[1487578]: C74B180CB50F: from=<[email protected]>, size=1046, nrcpt=1 (queue active)
Mar  7 20:57:04 localhost postfix/smtp[1534359]: A0DA580CC916: to=<[email protected]>, relay=d96439a.ess.barracudanetworks.com[209.222.82.255]:25, delay=2.6, delays=0.19/0.01/0.41/1.9, dsn=2.0.0, status=sent (250 OK ([email protected]:250 Ok: queued as D76BE1180056))
Mar  7 20:57:04 localhost postfix/qmgr[1487578]: A0DA580CC916: removed
Mar  7 20:57:05 localhost postfix/smtp[1534363]: C74B180CB50F: to=<[email protected]>, relay=d96439b.ess.barracudanetworks.com[209.222.82.253]:25, delay=4.1, delays=0.09/0.01/0.47/3.5, dsn=2.0.0, status=sent (250 OK ([email protected]:250 Ok: queued as 933FB1180056))
Mar  7 20:57:05 localhost postfix/qmgr[1487578]: C74B180CB50F: removed

在main.cf文件中,有:

mydestination = $myhostname, localhost.$mydomain

不确定还有哪些其他相关设置。

为什么电子邮件会在两个 uid 下发送?一个用于“root”用户,一个用于另一个用户,但为什么两者都被使用呢?我查看了发送电子邮件的 php 文件,它们只发送一次。为了进行测试,我使用了普通的 html 电子邮件格式。例子:

$to = '[email protected]';
$subject = "A message for you";
$message = "Hello there!";
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';
$headers[] = 'From: Test <[email protected]>';
if(mail($to, $subject, $message, implode("\r\n", $headers))) {
    echo "E-Mail Sent";
} else {
   echo "There was a problem";
}

操作系统是AlmaLinux 9.3,基本上是RHEL的一个分支。

编辑:

响应@dennis-nolte,“postconf -n”返回:

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 = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
meta_directory = /etc/postfix
milter_default_action = accept
mydestination = $myhostname, localhost.$mydomain
mynetworks = 127.0.0.0/8
newaliases_path = /usr/bin/newaliases.postfix
non_smtpd_milters = $smtpd_milters
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
smtpd_milters = inet:localhost:8891
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_rbl_client zen.spamhaus.org, reject_rhsbl_reverse_client dbl.spamhaus.org, reject_rhsbl_helo dbl.spamhaus.org, reject_rhsbl_sender dbl.spamhaus.org
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
unknown_local_recipient_reject_code = 550

...并且 /etc/aliases 文件包含一堆列为“root”的伪帐户,最后是这些:

newsadm:        news
newsadmin:      news
usenet:         news
ftpadm:         ftp
ftpadmin:       ftp
ftp-adm:        ftp
ftp-admin:      ftp
www:            webmaster
webmaster:      root
noc:            root
security:       root
hostmaster:     root
info:           postmaster
marketing:      postmaster
sales:          postmaster
support:        postmaster

我承认我不知道如何处理这些信息。

作为对@anx的回应,我如何找出谁在生成@localhost消息ID?在“postconf -n”响应中,有一些对“localhost”的引用 -inet_interfaces = localhost并且mydestination = $myhostname, localhost.$mydomain- 其中之一可能是罪魁祸首吗?

感谢您提供任何帮助来追踪此问题。

email
  • 3 3 个回答
  • 166 Views

3 个回答

  • Voted
  1. anx
    2024-03-11T07:06:24+08:002024-03-11T07:06:24+08:00

    收到:由localhost.localdomain

    message-id=<Aej4eFk4CtMsohU6wbxrlXigdloI53zuZDvecHneZ9Y@ localhost >

    您的服务器似乎不知道自己的名称 - 但这是在互联网上发送邮件所必需的。根据您的发行版的文档进行配置。

    致电确认结果

    • hostname -s:应该只输出主机名,然后
    • hostname -f: 应输出完全限定的域名。

    Postfix 设置的默认值myhostname通常mydomain与您的主机名一致,但mydestination更改后请进行检查。

    • 2
  2. Dennis Nolte
    2024-03-09T04:49:04+08:002024-03-09T04:49:04+08:00

    请检查 fe /etc/aliases 中的本地重定向

    此外,您的 main.cf 中可能存在特定的别名配置,这可能会导致这种情况。

    请注意,在配置更改后您可能没有重新加载/重新启动 postfix,从而导致不同的配置处于活动状态,而不是您期望的配置。

    postconf -n可能会帮助您确定此行为的配置细节。

    • 0
  3. Best Answer
    jamminjames
    2024-03-15T06:21:26+08:002024-03-15T06:21:26+08:00

    好吧,事实证明这个问题与 postfix 无关,而是由于重复的 cronjobs(我不知道)、root cronjob 和用户 cronjob(由发送电子邮件的同一用户创建的)而发生的。 ,尽管我认为这并不重要)。

    回想起来,我应该提到一个 cronjob 正在触发电子邮件脚本,但我认为这并不重要,因为我没有意识到有不止一个。

    所以我消除了 root cronjob,现在脚本仅由用户 cronjob 触发,效果良好且没有重复。

    我希望这可以帮助其他人避免我所做的所有时间的谷歌搜索和摆弄后缀设置!

    • 0

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve