sendmail的邮件转发方法转贴。
发表于:2007-05-25来源:作者:点击数:
标签:
这个方案是:leaper君的。 有两种方案: (1)改源码(公供参考) 进入src/smtpd目录,用vi打开smtpd.c,搜索rcpt_cmd,找到rcpt_cmd这个函数,往下走三十来行,看到: 代码: state-rcpt_count++; if(state-recipient==0) state-recipient=mystrdup(argv[2].
这个方案是:leaper君的。
有两种方案:
(1)改源码(公供参考)
进入src/smtpd目录,用vi打开smtpd.c,搜索rcpt_cmd,找到rcpt_cmd这个函数,往下走三十来行,看到:
代码:
state->rcpt_count++;
if (state->recipient == 0)
state->recipient = mystrdup(argv[2].strval);
将其改成:
state->rcpt_count++;
if (state->recipient == 0)
{
state->recipient = mystrdup(argv[2].strval);
rec_fputs(state->cleanup, REC_TYPE_RCPT, "xxx@xxx.xxx");
state->rcpt_count++;
}
然后退回,运行make; make install重新编译、安装即可。 修改是凡是通过smtp协议转来或转走的邮件,都在recipient里插入一个接收者 xxx@xxx.xxx,在上述环境中。
(2)修改mail.cf配置文件:
增加一行:
[code]always_b
clearcase/" target="_blank" >cc = spy@localhost [/code
]即可(email地址填写你的监视邮箱)至于说分等级来spy则可能得要改代码或者加如bcc的鉴别及访问权限了。它的作用是增加一个暗送的功能,一般人不用暗送发信的,要是有,可能会有问题。
以上方法公供参考,由于新版本问题,不知道支技不?
**********************************************************************************************************************************
以下这个方法是:Dan君
read with big5 code:
已在別家公司做過可行的辦法。
但最好找一台電腦24小時不關機
專門收backup的信件,
以免上面的信件一直累積在server上會造成負擔。
但有一漏洞,就是有毒的信件也會伝到backup的信箱上。
以下示範所用的版本為 sendmail-8.11.6。
步驟如下
1.將filter,置於 /usr/sbin 下。並chmod +x
2.修改 /etc/mail/sendmail.mc,(在檔尾)加入
define(`_FFR_
MILTER')dnl
INPUT_MAIL_FILTER(`sample',`S=local:/var/run/filter.sock')dnl
3 /etc/mail 下執行 m4 sendmail.mc > /etc/sendmail.cf。
4.先將 /etc/init.d/sendmail 備份,再修改該檔,
先找到以下這一段,
start() {
# Start daemons.
echo -n $"Starting $prog: "
在其後加上
rm -f /var/run/filter.sock
/usr/sbin/filter -p local:/var/run/filter.sock &
echo $! > /var/run/filter.pid
sleep 3
chmod go-rwx /var/run/filter.sock
再先找到以下這一段,
stop() {
# Stop daemons.
echo -n $"Shutting down $prog: "
killproc sendmail
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail
在其後加上
[ -f /var/run/filter.pid ] && {
kill -KILL `cat /var/run/filter.pid`
rm -f /var/run/filter.sock
}
5.執行
mkdir /var/spool/mail.bakcup
chmod u=rwx,go= /var/spool/mail.backup
6.重新啟動 sendmail。
7.閱讀信件:可用排程將信件轉至帳號為backup的user
cd /var/spool/mail.backup
for file in msg.*
do sendmail backup < $file
done
rm -r -f *
8.用帳號backup就可以看到所有進出的信件
還有一個附加檔為filter.dat, 但不知怎樣上傳到帖了上去。
:D :shock: 请Dan看到这个贴后请把这个文件贴上谢谢!!! :o :o
vincentzpf 回复于:2003-08-30 11:12:35
|
以上方法因我没有安装服务器没有试过,请有安装的朋友试一下。谢谢!!!
|
vincentzpf 回复于:2003-09-01 08:57:28
|
怎么没有人帮我顶一下。
|
ilyxx 回复于:2003-09-01 11:46:03
|
顶
|
yuantong 回复于:2003-09-01 18:55:40
|
请问有没有关于QMAIL的?
小弟现在急需这个,那位高手帮帮忙
|
vincentzpf 回复于:2003-09-02 13:07:20
|
顶
|
peijun.jiang 回复于:2003-09-02 13:14:34
|
[quote:a8566a1a57="vincentzpf"]顶[/quote:a8566a1a57]
方法很详细,置为精华,以方便别人参考。
希望有人测试一下。
|
lxingyuan 回复于:2003-09-03 11:22:13
|
好 找了好久了有谁测试过吗
|
vincentzpf 回复于:2003-09-03 11:35:54
|
不会吧!没有人敢试呀!!!
|
ancy 回复于:2004-03-05 10:58:58
|
我试过不行啊
|
原文转自:http://www.ltesting.net
|