我正在更新 Sendmail 以发出一些警报。例如,如果发生某些事情,sendmail 会向我们发送错误的电子邮件,我们会修复它。
我们遇到了这些电子邮件无法再发送的问题,因此希望更新 Sendmail。我们目前使用的是 8.15 版本,希望升级到最新的 8.18 版本。在文档中,我们看到了以下步骤(仅供参考):
阅读此顶级目录中 README 文件的 INTRODUCTION 部分中注明的所有 README 文件。
创建任何必要的站点配置构建文件,如 devtools/Site/README 中所述。
在 sendmail/ 目录中,运行“sh ./Build”(详情请参阅 sendmail/README)。
切换到 cf/cf/ 目录(这不是拼写错误):将最适合您环境的 .mc 文件复制到 sendmail.mc。接下来,按照 cf/README 中的说明进行调整。然后运行“sh ./Build sendmail.cf”。
备份当前的 /etc/mail/sendmail.cf 和 sendmail 二进制文件(其位置因操作系统而异,但通常位于 /usr/sbin 或 /usr/lib)。
将 sendmail.cf 安装为 /etc/mail/sendmail.cf,将 submit.cf 安装为 /etc/mail/submit.cf。这可以在 cf/cf 中使用“sh ./Build install-cf”完成。
继续操作之前,请阅读 sendmail/SECURITY;如果您要从非常旧的版本进行更新,则可能必须为默认安装创建新用户 smmsp 和新组 smmsp。然后通过 cd 返回到 sendmail/ 并运行“sh ./Build install”来安装在步骤 3 中构建的 sendmail 二进制文件。
对于每个相关的 sendmail 实用程序(makemap、mailstats 等),请阅读实用程序目录中的 README(如果存在)。当您准备安装时,请备份已安装的版本并键入“sh ./Build install”。
如果您从旧版本的 sendmail 升级并且正在使用任何数据库映射,请务必使用新版本的 makemap 重建它们,以防您现在使用不同(因此不兼容)版本的 Berkeley DB。
我已经顺利完成步骤 1-5,但在步骤 6 中遇到了以下错误:
使用 M4=/usr/bin/m4 ../../devtools/bin/install.sh -c -o root -g bin -m 0444 sendmail.cf /etc/mail/sendmail.cf make: execvp: ../../devtools/bin/install.sh: 权限被拒绝 make: *** [Makefile:83: install-sendmail-cf] 错误 127
我查看了 install.sh 文件的权限,目前权限为 755,所有权为 2004 2004
不幸的是,这超出了我的理解范围。任何帮助我都会很感激。
尝试按照提供的步骤操作,但遇到了一些错误。检查权限。碰壁。
您缺少可执行文件,或者它们不在您的 $PATH 中!Make 错误 127 是:错误 127 - 未找到文件:您使用的路径不正确。仔细检查该程序是否确实在您的 $PATH 中,并且相对路径是否正确
仔细检查您是否已制作 m4 一个可以工作的编译器,而不仅仅是损坏的别名。
仅从过去使用 Sendmail 8.x 的经验来看...创建一个具有所需功能的新 sendmail.mc,然后让它正确生成 sendmail.cf。您应该始终修改 .mc 文件并让 sendmail 生成正确的 .cf 文件。
请出于对所有可爱事物的爱,将备份步骤移至步骤 1 或更早。我见过太多人因为没有先备份而彻底毁掉邮件。
确保你能把所有东西恢复到你开始捣乱之前的样子!!!
我真的很喜欢 Sendmail!它是功能最强大的 MTA。现在几乎每个人都在使用 Postfix。它非常容易正确配置。
另外,也许可以尝试一下,在非生产机器上完善您的流程?只是为了确保您不会损害当前已知正常工作的 Sendmail 安装和配置。一旦您确定了流程并成功测试,您就可以在任何需要的地方执行此操作。