gpt4 book ai didi

email -/etc/aliases 使用管道运行脚本返回错误 (mailer=prog, dsn=5.3.0, stat=unknown mailer error 2)

转载 作者:行者123 更新时间:2023-12-05 04:17:34 25 4
gpt4 key购买 nike

我想获得有关在/etc/aliases 上运行脚本的问题的任何建议。首先,这是我的环境/脚本。

  • 操作系统:centos 6
  • 脚本:python 2.6.6
  • 邮件:sendmail-8.14/dovecot-2x
  • python脚本(测试很简单)

import sys

f = open("aa.txt", 'w')

for i in range(1, 5): data = "%d \n" % i f.write(data)

f.close() sys.exit()

然后我做了一些配置以使用 smrsh,例如,在/etc/smrsh/上建立链接,在/etc/smrsh/上移动脚本...

然后修改/etc/aliases 如下:

testuser:  "|/etc/smrsh/python /etc/smrsh/aa.py"

然后运行newaliases

当我向 testuser 用户发送电子邮件时,maillog 显示如下错误:(很抱歉更改了一些信息,例如 IP、域)

Mar 13 11:14:38 localhost sendmail[8153]: s2DBEcX7008153: from=<ttt@test.com>, size=4448, class=0, nrcpts=1, msgid=<B75C8C1216C9824DBF46410575577E294559AC17@test.com>, proto=ESMTP, daemon=MTA, relay=relay.test.com [xx.xxx.000.xx]
Mar 13 11:14:39 localhost sendmail[8154]: s2DBEcX7008153: to="|/etc/smrsh/python /etc/smrsh/aa.py", ctladdr=<testuser@[xx.xx.xx.xx]> (8/0), delay=00:00:01, xdelay=00:00:01, mailer=prog, pri=34652, dsn=5.3.0, stat=unknown mailer error 1
Mar 13 11:14:39 localhost sendmail[8154]: s2DBEcX7008153: s2DBEdX7008154: DSN: unknown mailer error 1

但是,仅通过/etc/aliases 转发电子邮件效果很好,例如,测试用户:test@zzz.com

我尝试在 shell 上使用 smrsh 运行:

smrsh -c "|/etc/smrsh/python /etc/smrsh/aa.py"

它也很好用。

这是我的 Mprog 的 sendmail.cf,

Mlocal,         P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
T=DNS/RFC822/X-Unix,
A=procmail -t -Y -a $h -d $u
Mprog, P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$z:/,
T=X-Unix/X-Unix/X-Unix,
A=smrsh -c $u

和/etc/smrsh/

lrwxrwxrwx.  1 root root   17 Mar 13 09:01 procmail -> /usr/bin/procmail
lrwxrwxrwx. 1 root root 15 Mar 13 09:08 python -> /usr/bin/python
lrwxrwxrwx. 1 root root 15 Mar 13 09:42 smrsh -> /usr/sbin/smrsh
lrwxrwxrwx. 1 root root 17 Feb 13 09:17 vacation -> /usr/bin/vacation
-rwxr-xr-x. 1 root root 125 Mar 13 11:27 aa.py
-rw-r--r--. 1 root root 12 Mar 13 11:27 aa.txt

有人可以帮助解决这个问题吗?非常感谢!

最佳答案

Sendmail FAQ 4.13 : What does "unknown mailer error 1" mean?

Sendmail 期望退出代码零 (0) 表示所有“OK”OR 退出代码从 64 到 78 表示特定问题。在您的情况下,退出代码 (1) 不在 sendmail 可以解释的退出代码列表中。

指示错误/问题的有效退出代码列在 sysexits.h

#define EX_USAGE        64      /* command line usage error */
#define EX_DATAERR 65 /* data format error */
#define EX_NOINPUT 66 /* cannot open input */
#define EX_NOUSER 67 /* addressee unknown */
#define EX_NOHOST 68 /* host name unknown */
#define EX_UNAVAILABLE 69 /* service unavailable */
#define EX_SOFTWARE 70 /* internal software error */
#define EX_OSERR 71 /* system error (e.g., can't fork) */
#define EX_OSFILE 72 /* critical OS file missing */
#define EX_CANTCREAT 73 /* can't create (user) output file */
#define EX_IOERR 74 /* input/output error */
#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */
#define EX_PROTOCOL 76 /* remote error in protocol */
#define EX_NOPERM 77 /* permission denied */
#define EX_CONFIG 78 /* configuration error */

关于email -/etc/aliases 使用管道运行脚本返回错误 (mailer=prog, dsn=5.3.0, stat=unknown mailer error 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22378100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com