postfix 外部程序過濾郵件如何拒絕郵件呢
外部程序過濾后如何將結果返回給postfix呢
比如我利用外部程序過濾一封郵件 發現其為垃圾郵件 那麼我希望postfix不要將其加入隊列而是直接將其刪除。 如何返回呢
《解決方案》
以解決
《解決方案》
只要外部程序過濾之後不調用sendmail將郵件傳回 即郵件就不會被發送,並且系統會自動退信。 但是郵件過濾程序要返回一個錯誤值
錯誤值有下面幾種 定義在sys_exits.h文件內#define EX__BASE 64 /* base value for error messages */
#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 /* temporary failure */
#define EX_PROTOCOL 76 /* remote error in protocol */
#define EX_NOPERM 77 /* permission denied */
#define EX_CONFIG 78 /* configuration error */
#define EX__MAX 78 /* maximum listed value */
《解決方案》
用MAILSCANNER可以做到。