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 / 问题

问题[sendmail](server)

Martin Hope
Steven Rothera
Asked: 2023-11-22 18:08:55 +0800 CST

使用 sendmail 发送时主机名查找失败

  • 5

我正在尝试设置 sendmail 通过邮件中继发送邮件 我知道邮件中继可以正常工作,因为它已经在其他地方进行了测试

我遵循了相当多的指导页面,以下内容位于 sendmail.mc 文件中:

define(`SMART_HOST', `10.*.*.*')dnl
define(`RELAY_MAILER',`esmtp')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo/authinfo.db')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`nocanonify', `canonify_hosts')

但是当通过它触发任何邮件时,我总是收到相同的错误:

Nov 22 08:51:04 localhost sm-mta[17199]: 3AH97jas061031: to=<steven.rothera@test.com>, ctladdr=<www-data@operations> (33/33), delay=4+23:43:19, xdelay=00:00:00, mailer=relay, pri=65370405, relay=10.*.*.*, dsn=4.0.0, stat=Deferred: Name server: 10.*.*.*: host name lookup failure

谁能帮我解决这里可能出现的问题吗?我正在努力根据其他人的帖子寻找答案。大多数其他帖子似乎与使用不正确的 SMART HOST URL 的人有关,但我使用的是 IP。

sendmail
  • 1 个回答
  • 24 Views
Martin Hope
QF0
Asked: 2022-03-15 11:36:56 +0800 CST

配置 sendmail 以侦听备用端口

  • 0

我已设置sendmail为侦听端口 1234 而不是 25,只需更改为sendmail.mc:

DAEMON_OPTIONS(`Port=1234, Name=MTA')

这通常有效,但有一个例外。背景是我有一个relay监听25端口(relay必须有MX记录,所以一定是25端口)。中继通过 sendmail 发送邮件,因此 sendmail 监听localhost:1234. 也就是说,sendmail 只负责发送邮件,不负责接收。netstat/etc 确认中继正在监听 25,而 sendmail 正在监听 1234。

这适用于这两个测试用例:

  1. 我可以通过 telnet 发送电子邮件到 sendmail ( telnet localhost 1234)
  2. s-nail我可以通过适当的配置更改发送电子邮件( set mta=smtp://localhost:1234)

但是,如果我直接运行 sendmail ,则此设置不起作用:

sendmail -d8.20 -vt < test-email.txt

在这种情况下,sendmail 尝试通过连接到本地端口 25 来发送邮件,因此它实际上与本地中继通信,而不是远程 SMTP 服务器。调试输出显示:

me@example.com... Connecting to [127.0.0.1] via relay...
220 mydomain.org ESMTP mydomain relay

这让我很困惑——知道这里发生了什么吗?

编辑

取得一些进展。我在 Sendmail 8.15.2,Ubuntu 20.04 上。这个问题并不重要,除了 sendmail 用每 20 分钟运行一次的 cron 作业刷新它的 MSP 队列,所以我得到很多 syslog 失败条目,以及无法投递的电子邮件的大队列,因为 sendmail 找不到自己。

问题似乎如下。当您使用 sendmail 发送邮件(或管理队列)时,它(通常)是一个两步过程。您运行 sendmail,它读取submit.cf(而不是 sendmail.cf),并充当 MSA,将邮件提交给某物。那个东西通常是本地的 sendmail 守护进程,它会sendmail.cf在它启动时读取。

sendmail.cf告诉 sendmail 它需要监听localhost:1234传入的邮件。这意味着它submit.cf必须包含一个配置,告诉 sendmail 程序将外发邮件路由到localhost:1234.

相关submit.mc配置可能是FEATURE msp,默认为

FEATURE(`msp', `[127.0.0.1]', `25')

所以答案大概就是把 25 改成 1234 这么简单。不过,没那么容易。只需更改它、重新生成文件并重新启动 sendmail,就没有什么区别。事实上,使用其中一个或两个重新生成submit.cf完全m4为零make差异,或者为您提供一个cf带有注释掉的功能的文件。某处有一些魔法可以让您更改功能,但我不知道是什么。答案可能在/usr/share/sendmail/cf/feature/msp.m4,但我看不到。

sendmail
  • 0 个回答
  • 101 Views
Martin Hope
Mathéo Tichy
Asked: 2022-01-05 01:40:44 +0800 CST

ssmtp 不工作,不想登录

  • 0

我已将 SSMTP 配置为发送邮件,但问题是我无法从我的网络服务器发送邮件并且没有登录/var/log。有时,我有Sender mismatchapache 日志。

我的配置:Debian 11 和网络服务器到 Docker 容器中。

这是我的 SSMTP 配置:

hostname=domain.fr
root=no-reply@domain.fr
mailhub=mail.infomaniak.com:587
AuthUser=no-reply@domain.fr
AuthPass=PASS
UseTLS=YES
UseSTARTTLS=YES
Debug=YES

进入我已经得到的修饰:

www-data:no-reply@domain.fr:mail.infomaniak.com:587
root:no-reply@domain.fr:mail.infomaniak.com:587

编辑:这是我安装和配置 SSMTP 的 Dockerfile 中的一部分:

&& apt -y install ssmtp mailutils \
&& echo "hostname=domain.fr" > /etc/ssmtp/ssmtp.conf \
&& echo "root=no-reply@domain.fr" >> /etc/ssmtp/ssmtp.conf \
&& echo "mailhub=mail.infomaniak.com:587" >> /etc/ssmtp/ssmtp.conf \
&& echo "AuthUser=no-reply@domain.fr" >> /etc/ssmtp/ssmtp.conf \
&& echo "AuthPass=" >> /etc/ssmtp/ssmtp.conf \
&& echo "UseTLS=YES" >> /etc/ssmtp/ssmtp.conf \
&& echo "UseSTARTTLS=YES" >> /etc/ssmtp/ssmtp.conf \
&& echo "Debug=YES" >> /etc/ssmtp/ssmtp.conf \
&& echo "www-data:no-reply@domain.fr:mail.infomaniak.com:587" >> /etc/ssmtp/revaliases

有关信息,在 CLI 中,我可以在使用 root 帐户时发送电子邮件。

我的问题可能是什么?

谢谢你的帮助 !

debian sendmail ssmtp
  • 2 个回答
  • 382 Views
Martin Hope
tsc_chazz
Asked: 2021-12-18 18:00:39 +0800 CST

Sendmail 如何确定 SASL 在哪里监听?

  • 0

我正在尝试让 SMTP-AUTH 在 Mint Linux 20.2 机器上运行,但无法进行身份验证。我已经安装了 Cyrus sasl2,并且显然配置正确 -testsaslauthd -u <user> -p <password> -s smtp返回0: OK "Success."但是当我尝试使用相同的凭据从我的客户端发送邮件时,sendmail 无法进行身份验证。让我感到好奇的是,当我使用testsaslauthd身份验证日志时会生成条目,但是当 Sendmail 尝试时,什么都没有。尝试testsaslauthd从非 root 上下文中使用也会导致没有身份验证条目,这让我相信要么sendmail没有足够的权限连接到 sasl 守护进程,要么它不知道该管道在哪里并且猜错了. 所以我想问题是,如何sendmail找到那个管道,当它这样做时它是谁?

linux sendmail sasl
  • 2 个回答
  • 300 Views
Martin Hope
user3413723
Asked: 2021-09-05 06:44:51 +0800 CST

mail 有效,但 sendmail 无效!(后缀)

  • 0

我在服务器上安装了 postfix,当我使用命令发送电子邮件时,sendmail它没有被传递,但是当我使用mail命令发送时,它确实被传递。更糟糕的是,后缀日志声称它在使用时交付:

这就是日志显示的内容echo "test email" | sendmail sendmail@mailinator.com

Sep  4 14:33:03 howtocode1 postfix/pickup[271977]: 38418406E2: uid=0 from=<root>
Sep  4 14:33:03 howtocode1 postfix/cleanup[272164]: 38418406E2: message-id=<20210904143303.38418406E2@codingschool.tk>
Sep  4 14:33:03 howtocode1 postfix/qmgr[231761]: 38418406E2: from=<root@codingschool.tk>, size=295, nrcpt=1 (queue active)
Sep  4 14:33:03 howtocode1 postfix/smtp[272166]: 38418406E2: to=<sendmail@mailinator.com>, relay=mail2.mailinator.com[45.33.83.75]:25, delay=0.06, delays=0.03/0.01/0.01/0.01, dsn=2.0.0, status=sent (250 Ok)
Sep  4 14:33:03 howtocode1 postfix/qmgr[231761]: 38418406E2: removed

显然它看起来是正确的。但是没有邮件被送达。但是这个:echo "test email 2" | mail bobo@mailinator.com效果很好!邮件已发送!

所以我不明白为什么他们的mail命令在世界上有效,但不是sendmail。任何想法?

email postfix sendmail
  • 2 个回答
  • 162 Views
Martin Hope
olivierg
Asked: 2021-08-26 00:54:48 +0800 CST

在命令行上使用 sendmail 进行身份验证的 SMTP

  • 0

我们在命令行上使用 sendmail 发送电子邮件,命令如下:

cat <email_contents> | sendmail -t

<email_contents> 包含发件人、收件人等字段:

To: recipient@example.com
Subject: Testing
From: sender@example.com

以及一个巨大的文件,附件等。

我们现在需要使用经过身份验证的 SMTP(传递登录名和密码参数以针对 SMTP 服务器进行身份验证)。

有没有办法用这种方法做到这一点?(使用 sendmail 参数或修改 email_contents 考虑以下元素:

  1. 不使用 mailx 或任何其他邮件客户端。我们需要继续从命令行使用 sendmail
  2. 不修改 sendmail 配置文件 (sendmail.cf)

再次感谢问候,

linux email solaris smtp sendmail
  • 1 个回答
  • 1959 Views
Martin Hope
PFudd
Asked: 2021-08-01 15:56:40 +0800 CST

将新的 DNSBL 添加到 Sendmail 后,如何重新提交电子邮件以查看是否会被拒绝?

  • 1

TL;博士

如何欺骗我自己的 sendmail 认为电子邮件来自特定的 IP 地址,以便由于 DNSBL 匹配而拒绝该邮件?

细节:

我运行自己的邮件服务器,大多数垃圾邮件都被我添加到 /etc/mail/sendmail.mc 的 DNS 黑名单 (DNSBL) 阻止,如下所示:

dnl FEATURE(`dnsbl',`dnsbl.sorbs.net',`"554 Rejected " $&{client_addr} " found in dnsbl.sorbs.net"')dnl
dnl FEATURE(`dnsbl',`b.barracudacentral.org',`"554 Rejected " $&{client_addr} " found in b.barracudacentral.org"')dnl

今天进来了一些垃圾邮件(通过了所有测试),在检查了MX Toolbox和DNSBL Information之后,可以看到添加几个 DNSBL 中的一个会阻止这个特定的垃圾邮件。

因此,我添加了另一个 DNSBL,现在我想通过将这封电子邮件重新提交到 Sendmail 来对其进行测试,但问题在于:它不会来自正确的 IP 地址,并且 DNSBL 不会认为它很糟糕。

这是我通常会使用的命令:

formail -s /usr/sbin/sendmail -oi -t < testmail.mbox

在我尝试重新发明轮子之前,我想我先在这里问一下。可能的想法:

  • 是否有用于发送邮件以伪造源 IP 的 CLI 选项?
  • 也许制作一个排队的消息文件并将其直接放入队列中?
  • 也许在我的机器上设置另一个IP地址,然后用它发送给自己?
  • OpenVPN 或 SSH 隧道会是一个快速解决方案吗?
  • 可能可以加载共享库来拦截系统调用,à la LibFakeTime?
  • Dtrace 看起来很强大,它可以像这样改变 getsockopt(2) 调用吗?

谢谢!

spam sendmail email-server rbl
  • 1 个回答
  • 78 Views
Martin Hope
Ryan Vogel
Asked: 2021-07-04 15:16:44 +0800 CST

Sendmail 使用 DKIM 进行身份验证,但 Roundcube 未进行身份验证

  • 3

所以我设置了邮件服务器,Roundcube 和 Sendmail 都按预期工作。

但是我的许多电子邮件都会在 Gmail 和其他人中发送垃圾邮件,所以我设置了 DKIM 身份验证并且成功了。

[旁注]出于某种原因,我将其设置为 SMTP 使用端口 25 而不是 587(其他人推荐的)。所以我不知道这是否会导致任何问题。

首先我用 Roundcube 测试它并向我的 Gmail 帐户发送了一封电子邮件,当我点击See OriginalGmail 电子邮件的部分时,它不显示 DKIM'PASS' with domain mydomain.com

但是当我使用 Sendmail 在终端中发送时,它确实显示在 DKIM 下:'PASS' with domain mydomain.com

我究竟做错了什么?Roundcube 是否有启用 DKIM 的插件?

https://pastebin.pl/view/5d87eb76 <- 这Orignal Message适用于 Sendmail 和 Roundcube。

sendmail roundcube dkim opendkim
  • 1 个回答
  • 968 Views
Martin Hope
Dominik Mimra
Asked: 2021-04-25 02:46:43 +0800 CST

Sendmail 没有中继到 127.0.0.1:25 而不是智能主机

  • 0

我正在尝试在带有 sendmail 的 RHEL7 上使用 SMART_HOST。我已将 sendmail.mc 配置如下:

define(`SMART_HOST', `my.relay.com')dnl

编译后我在 sendmail.cf 中有这一行:

# "Smart" relay host (may be null)
DS[my.relay.com]

所以它似乎接受了它。重新启动 sendmail 服务。发送测试邮件时,我在日志中发现以下内容并且没有邮件到达(显然):

Apr 24 11:27:13 myhost sendmail[51939]: 13O9RDBi051939: to=webmaster@myhost.com, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30008, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (13O9RDpv051940 Message accepted for delivery)

由于某种原因,它仍然中继到relay=[127.0.0.1],经过无休止的研究,我无法弄清楚原因。有什么建议吗?

sendmail rhel7 smarthost
  • 1 个回答
  • 254 Views
Martin Hope
youpilat13
Asked: 2021-04-23 00:32:39 +0800 CST

mutt的邮箱文件突然消失了

  • 0

我最近看到我的整个邮箱mutt突然消失了。我不知道如何备份,如果可能的话?

我在 Linux Debian 10 上。

sent发送的所有邮件的文件都没有消失,这很奇怪。

也许有这种删除到文件中的痕迹/var/log/mail*?

如果有人能知道发生了什么。

debian sendmail backup-restoration mutt mailbox
  • 1 个回答
  • 141 Views

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