CentOS 5.x | 发邮件
有时,我需要搜索 sendmail 传送日志以找出丢失邮件的原因。这通常涉及两个(或更多)步骤:
第 1 步:在 /var/log/maillog 中搜索用户的电子邮件地址。例如grep -i "someuser@recipientdomain.com" /var/log/maillog
这通常会返回如下内容:
Jan 11 07:43:34 server-example sendmail[12732]: p937blksdh3: to=<someuser@recipientdomain.com>, delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=102537, relay=mta.recipientdomain.com. [12.34.56.78], dsn=5.7.1, stat=Service unavailable
Run Code Online (Sandbox Code Playgroud)
第 2 步:然后我将获取唯一的消息名称(在本例中为 p937blksdh3)并进行搜索。例如:grep -i p937blksdh3 /var/log/maillog
我想将第 1 步和第 2 步合并为一个单行代码,并让它自动对其他 id 执行相同的搜索。因此,在单个命令中,我想执行以下操作:
我正在尝试配置 sendmail 以防止它允许通过 RCPT TO: 命令进行用户名枚举。
我一直在无休止地使用谷歌搜索,据我所知,实现这一目标的最佳方法是向 virtusertable 添加一个捕获所有电子邮件帐户。
所以我生成了一个新的 sendmail.cf 文件,其中包含以下指令:
FEATURE(`virtusertable', `hash /etc/mail/virtusertable')dnl
Run Code Online (Sandbox Code Playgroud)
然后在 virtusertable.db 文件中添加:
@ubuntu test
Run Code Online (Sandbox Code Playgroud)
并重新启动 sendmail,但它不起作用:
mail from:root@ubuntu
250 2.1.0 root@ubuntu... Sender ok
rcpt to:root
250 2.1.5 root... Recipient ok
rcpt to:fake
550 5.1.1 fake... User unknown
Run Code Online (Sandbox Code Playgroud)
我是不是哪里出错了?或者有没有更好的方法来实现这一目标?
谢谢你的帮助
一切正常,但总有一天 sendmail 停止对我工作。
我正在尝试以下命令行:
echo "Body text" | mail -s "Some subject" example@somemail.com
Run Code Online (Sandbox Code Playgroud)
并得到:
/home/<username>/dead.letter... Saved message in /home/<username>/dead.letter
Can't send mail: sendmail process failed with error code 67
Run Code Online (Sandbox Code Playgroud)
如何解决?
CentOS 5.x | 发邮件
我注意到有关从 sendmail.mc 推送更改的不一致信息
一些文档建议更改 sendmail.mc 文件需要两个步骤:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 其他文档表明重建过程已经作为服务重启的一部分完成。
如果需要第 1 步,我可以获得确认吗?
更新:如果我在 init 脚本中 grep for make,输出显示:
[root@foo ~]# grep make /etc/init.d/sendmail
if test -x /usr/bin/make -a -f /etc/mail/Makefile ; then
make all -C /etc/mail -s > /dev/null
makemap hash /etc/mail/$i < /etc/mail/$i
if [ -x /usr/bin/make -a -f /etc/mail/Makefile ]; then
make all -C /etc/mail -s > /dev/null
makemap hash /etc/mail/$i < /etc/mail/$i
Run Code Online (Sandbox Code Playgroud) 由于 Google Apps 不再对小型企业/团队免费,我只能将 MX 记录指向我的应用程序服务器。我仍然希望通过 Gmail 地址接收电子邮件,该地址发送到与上述 MX 记录关联的域。
我看过安装 sendmail 并配置/etc/mail/virtusertable为包含类似的东西
@mydomain myemail@gmail.com
Run Code Online (Sandbox Code Playgroud)
我也看了一下安装Postfix和修改/etc/aliases与
admin: myemail@gmail.com
team: myemail@gmail.com
...
Run Code Online (Sandbox Code Playgroud)
无论如何,当我向电子邮件发送电子邮件时,team@mydomain.com似乎从未将其发送到我的应用程序服务器(例如,/var/log/maillog显示没有添加任何内容),并且绝对不会将其发送回我的 Gmail 帐户。
我可以放弃 postfix 和/或 sendmail 换另一种选择;我只是希望在我的应用程序服务器上接受电子邮件,除了将所述电子邮件转发到 Gmail 帐户外,什么也不做。我不需要/想要服务器上的任何真实电子邮件帐户,这是服务器上唯一的域。
在 webmail 上,每个用户在发送邮件时都会收到错误“错误:消息未发送。服务器回复:354”。
但是邮件被正确发送并正确到达。
你能告诉我问题出在哪里,为什么会发生?
更新:我在一些资源中发现这不是错误而是标准信息消息。另一方面,它很烦人。你能告诉我它是否是真的,如果是我如何避免它?
在过去的几天里,我遇到了非常严重的内存不足问题。
虽然我解决了一个可能的原因,但我仍然收到了一个非常可疑的sendmail.
关于如何解决这个问题的任何建议?我认为这一定是某种恶意软件,但我没有解决此类攻击的经验。
1 [||||||||||||||||||||||||| 27.0%] Tasks: 101, 50 thr; 1 running
2 [||||||||||||||||||||||||||||||||||||||||| 45.7%] Load average: 12.96 12.55 11.95
Mem[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||1183/1995MB] Uptime: 09:53:28
Swp[|||| 93/2047MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
19704 root 20 0 120M 25328 2896 S 2.0 1.2 0:46.16 sendmail: MTA: ./s6HH4rLv009027 gmail.co.: user open
3298 root 20 0 99M 5612 1684 S 2.0 0.3 2:46.31 sendmail: MTA: s6OABpf4003298 …Run Code Online (Sandbox Code Playgroud) 我有一个运行 Ubuntu 的 Web 应用程序服务器。该应用程序是用 Python/Django 构建的,但没有任何特定的用例来发送电子邮件。我们有日志管理软件,可以让我们检查所有日志,所以我们不需要通过电子邮件发送日志或任何此类东西。
我们试图强化这个框,但我注意到 sendmail 已安装并正在运行,而且当我“ps -ef | grep sendmail”时我看到“sendmail MTA:接受连接”。有点吓人。
从安全方面来看,我最好卸载 sendmail(和 postfix,就此而言) - 因为似乎根本不需要电子邮件。如果有必要的话,他们只需要外向。或者 Linux 的某个方面是否依赖于电子邮件(我可以想到 git config、django 管理员帐户等)。
我们的 postfix 系统在晚上停止发送邮件。每晚凌晨 2 点,它停止接收邮件。服务器是一个监控服务器,每天发送大量邮件。/bin/mail 将邮件放入 postdrop 队列中,postfix 取件在此队列中提取邮件并 postfix 处理邮件。它工作了一整天,但在凌晨 2 点它停止并且日志中没有任何内容(即使启用了用于拾取和清理的详细日志记录)。当我手动重新启动 postfix 服务时,它开始从 postdrop 队列传递邮件。凌晨 2 点会发生什么,迫使 postfix 停止工作?cronjobs 不影响 postfix
所有定时任务:
mi h d m w user command
01 * * * * root /etc/cron.hourly/mcelog.cron
*/10 * * * * apache /usr/share/nagiosbp/bin/nagios_bp_session_timeout 2>&1 | logger -t nagios_bp_session_timeout
*/5 * * * * apache /usr/bin/php -q /usr/share/centreon/cron/downtimeManager.php >> /var/log/centreon/downtimeManager.log 2>&1
*/5 * * * * nagios /usr/share/centreon/bin/nagiosPerfTrace >> /var/log/centreon/nagiosPerfTrace.log 2>&1
* * * * * apache cd /usr/share/thruk …Run Code Online (Sandbox Code Playgroud) AOL 开始从我的邮件服务器退回电子邮件,并出现以下错误:
521 5.2.1 : AOL will not accept delivery of this message.
554 5.5.0 Remote protocol error
Run Code Online (Sandbox Code Playgroud)
在故障排除页面上,AOL 要求提供特定的错误代码,但我得到的只是一条通用消息。这些电子邮件是从 Outlook 发送的,没有任何附件。我不发送任何群发电子邮件/时事通讯,只发送个人电子邮件。
什么可能导致这种情况,我应该如何进行?没有特定的代码,我无法继续使用 AOL。有没有人遇到过这个问题?
sendmail ×10
centos ×3
linux ×3
ubuntu ×3
postfix ×2
spam ×2
awk ×1
bash ×1
email ×1
low-memory ×1
security ×1
smtp ×1
ubuntu-10.04 ×1
ubuntu-12.04 ×1
wordpress ×1