linux发送邮件指定发件人

kevin.Zhu 发布于:2013-9-30 17:07 分类:Postfix  有 15 人浏览,获得评论 0 条  

一般使用mail命令发送邮件时,默认发件人为本地用户root或其他

通过修改/etc/mail.rc文件来指定email发件人

使用外部SMTP服务器(163、126等)来发送邮件;

 

在/etc/mail.rc文件中添加发件人的邮箱认证信息:

vi /etc/mail.rc

set from=zrer90@163.com

set smtp=smtp.163.com
set smtp-auth-user=zrer90
set smtp-auth-password=passwd
set smtp-auth=login

 

 

发送邮件:

echo "Test using zrer90@163.com  to send email" | mail -s "This email from Linux" zrer90@126.com

 

查看邮件:

wKioL1OpGRnC0mMYAAF0MyyqxVQ434.jpg

wKioL1OpGYnDJYsdAACL-8A0h-I938.jpg




----------------------------------------------------------------------------------

在linux下有一个mail命令可以用来收发邮件,但是默认情况下邮件的发送人为当前用户,有时候为了方便的在程序(比如perl脚本)中发送邮 件,那么就得指定特定的发送人,这个怎么办呢?在正常的发送命令后面追加" -- -f 发送人邮件 -F 发送人姓名"即可,一个简单的实际例子如下:
		
  1. $ mail -s "just a test" 收信人邮箱地址 < 要发送的邮件内容文件 -- -f 发送人邮件地址 -F 发件人姓名 


效果是: 信件内容将发送给 收信人邮箱,显示的发送人为 发送人姓名<发送人邮件地址>,显示的内容为 发送的邮件内容...

 

		
  1. /bin/mail -s "Disk Used Information" wsy@114.com.cn < /home/kkg/alarm.log 

发送人为:root@localhost.localdomain或者是root@hostname

$ /bin/mail -s "Disk Used Information" wsy@517sou.net < /home/kkg/alarm.log
 -- -f wsy@517sou.net -F wsy 
发件人:wsy@517sou.net 

说明:
-- 后面部分是传给 sendmail 这类 mta 的参数。

用脚本:

echo test |mail -s "test" yourmail@baidu.com -- -ftest@test.com

其中的-- -f后面指定发件人的地址