• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

sendmail的邮件转发方法转贴。

发布: 2007-5-25 23:49 | 作者: 未知 | 来源: ChinaUnix.net | 查看: 21次 | 进入软件测试论坛讨论

领测软件测试网
这个方案是: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_bcc = 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
我试过不行啊

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网