sendmail修改发送人

2014-08-19

sendmail可以简单的修改sendmail.cf,查找DS修改为DSmail.wallcoper.com,即可通过邮件服务器转发邮件,但是发送人总是root@localhost.localdomian,但是怎么修改发送人呢?

1、修改sendmail的配置文件 /etc/mail/submit.mc,追加下面两行
MASQUERADE_AS(`abc.com')dnl
FEATURE(`masquerade_envelope')dnl
##注意:上面两行括号里的点不是两个单引号. 而是一个 ` 和 一个单引号 '
我是在dnl If you use IPv6 only, change [127.0.0.1] to [IPv6:::1]这一行上面加。
需要注意追加的位置,如果追加的位置不对,在用m4命令时可能会出现下面的错误信息
*** ERROR: FEATURE() should be before MAILER()
追加位置满足在MAILER()之前应该就可以了。

2、生成submit.cf文件
命令:m4 submit.mc > submit.cf
使用m4命令前要确保安装了sendmail-cf
出现这个报错是因为没有安装sendmail-cf这个软件,yum install sendmail-cf 安装完sendmail-cf后解决问题。

3、如果报错:
sendmail.mc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cf.m4': No such file or directory

解决方法:
出现这个报错是因为没有安装sendmail-cf这个软件,yum -y install sendmail-cf安装完sendmail-cf后即可解决。

4、重启sendmail
/etc/init.d/sendmail restart

5、在命令行下用mail命令试试看
“你想要的域名”处可以改成任何你想要的,比如163.com啊,hotmail.com啊之类的。
然后在收件人处显示出来的就是user@163.com,user@hotmail.com之类的了。
垃圾邮件估计就是用这种方法来隐藏自己的真实域名吧。

6、发送邮件命令
cat a.txt|mail test@wallcopper.com

7、以附件方式发送邮件
yum -y install sharutils
uuencode a.txt a.txt |mail -s 'subject' test@wallcopper.com

8、配置计划任务定时发送邮件
crontab -e
0 4 * * * /opt/mail.sh
cat mail.sh
#!/bin/sh
ymd=`date -d yesterday +%Y%m%d`
#mail1=test@w.com

for id in `cat id.txt|awk -F, '{print $1}'`;do
mail1=·awk -F, '{print $2}'·
file1=chat_recorder_${id}_${ymd}.xls.zip
uuencode $file1 $file1 |mail $mail1 -s ${file1};
done

分类:Linux | 标签: |

相关日志

评论被关闭!