您的位置:首页 > 运维架构 > Linux

LINUX系统发送邮件的方法

2013-12-11 16:14 375 查看
利用外部邮箱发送邮件的方法
bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的

资源占用。而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:

修改/etc/nail.rc (/etc/mail.rc)

set from=fromUser@domain.com smtp=smtp.domain.comset smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login
说明:

from是发送的邮件地址

smtp是发生的外部smtp服务器的地址

smtp-auth-user是外部smtp服务器认证的用户名

smtp-auth-password是外部smtp服务器认证的用户密码

smtp-auth是邮件认证的方式

配置成功后,就可以使用了

可以发送一封邮件测试一下:

mail -s "test" user@sohu.com <content.txt 其中-s后面的是邮件标题,user@sohu.com是收件人地址,content.txt里面是邮件正文

三种常用格式发信mail -s test ccc@35.com #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D可以输入抄送人,可用逗号分隔,回车后发送。echo “mail content”|mail -s test ccc@35.com #第二种方法,使用管道mail -s test ccc@35.com < file #第三种方法,以file的内容为邮件内容发信 发附件如果你的系统里没有uuencode命令的话,请先安装sharutils(yum install sharutils)uuencode 需要两个参数,第一个是你要发送的文件(们),当然这个也可以用管道来做,第二个是显示的文件名uuencode 1.txt 1.txt | mail -s test2ccc@35.com(linux下的文本文件最好先unix2dos)tar zcf – /tmp/1/ |uuencode 1.tgz | mail -s test1ccc@35.cn4e.com 即有附件又有邮件正文先写好邮件, 比如叫 mymail,然后uuencode <附件文件名> <附件文件名> >> mymail或者cat <附件文件名> | uuencode <附件文件名> >> mymail然后编辑你的 mymail 文件,在前面写上信的正文。 然后寄出。实际操作:echo ‘hello zhengwen’ >zhengwen.txtcat 1.gif | uuencode 1.gif>> zhengwen.txtcat zhengwen.txt |mail -s test1 ccc@35.com 将信件送给一个或以上的电子邮件地址。mail -s 标题 -c user1 user2 < mail.txtmail -s biaoti zhucsong@35.com -c chaosong@35.com -b michao@35.com < 1.txt 检查所传送的电子邮件是否送出,或滞留在邮件服务器中
语法:/usr/lib/sendmail -bp
若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出。
若为其他错误信息,表示电子邮件因故尚未送出。 附:linux mail命令参数:
i 忽略 tty 的中断讯号。 (interrupt)
I 强迫设成互动模式。 (Interactive)
v 列印出讯息,例如送信的地点、状态等等。 (verbose)
n 不读入 mail.rc 设定档。
s 邮件标题。
c cc 邮件地址。
b bcc 邮件地址。系统收到邮件都会保存在“/var/spool/mail/[linux用户名]”文件中。在linux中输入mail,就进行了收件箱,并显示二十封邮件列表。此时命令提示符为”&”:(可以输入以下命令对邮件进行相关操作)
& help //如果不会使用或者忘记了什么命令,就输入 help 或者 ? 来获取帮助
Mail Commands
t <message list> 打印出信息 【注意】多个信息用空格分开,如 t 1 7
n 打印出下一条信息
e <message list> 编辑信息
f <message list> 输出信息的头行
d <message list> 删除信息
s <message list> file 追加信息到文件file
u <message list> 不删除某信息
R <message list> 回复发件人
r <message list> 回复发件人和本信息所有的收件人
pre <message list> 保留信息在 /usr/spool/mail 1*
m <user list> 发邮件,多个收件人用空格分开【需要sendmail支持】
q quit, saving unresolved messages in mbox 2*
x quit, do not remove system mailbox
h print out active message headers
! 让shell执行某命令,如 !ls 输出ls命令结果
cd [directory] 改变目录,这里不用 !cd,但打印当前目录需要 !pwd
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: