位置:海鸟网 > IT > linux/Unix >

linux下实现自动发送文本mail邮件的脚本

  1. 安装msmtp

  luther@gliethttp:~$ sudo apt-get install msmtp

  2. 编辑配置脚本(~/.msmtprc是默认配置文件,也可以使用-C选项指定配置文件路径)

  luther@gliethttp:~$ vim msmtprc

  #添加如下内容

  defaults

  #logfile /home/luther/msmtp.log

  account luther_test

  host mail.gliethttp.cn

  from luther@gliethttp.cn

  auth off

  password 123456789

  account default : luther_test

  3. 去掉配置文件的执行权限-x

  luther@gliethttp:~$ chmod 600 msmtprc

  4. 好了,可以使用下面语句发送一个测试邮件到自己的邮箱了,或者在stdin上输入,然后ctrl+D

  可能文件中的部分数据会丢失,不怕,当我们安装mutt之后就一切正常了.

  luther@gliethttp:~$ msmtp luther@gliethttp.cn -C /home/luther/msmtprc < /vobs/tmp/log.c

  5. 接着安装mutt

  luther@gliethttp:~$ sudo apt-get install mutt

  6. 编辑配置脚本(~/.muttrc是默认配置文件,也可以使用-F选项指定配置文件路径)

  luther@gliethttp:~$ vim muttrc

  #添加如下内容

  set sendmail="/usr/bin/msmtp -C /home/luther/msmtprc"

  set use_from=yes

  set from=admin@gliethttp.cn

  set realname="测试admin"

  set editor="vim"

  7. 发送普通文本和文件内容

  luther@gliethttp:~$ echo "测试123abc" | mutt -F /home/luther/muttrc -s "邮件标题 - 测试" luther@gliethttp.cn

  luther@gliethttp:~$ mutt -F /home/luther/muttrc -s "邮件标题 - 测试" luther@gliethttp.cn < /etc/passwd

  8. 发送附件(-a选项用来添加附件,下面这个例子添加了passwd和resolv.conf这2个附件)

  luther@gliethttp:~$ echo "测试123abc" | mutt -F /home/luther/muttrc -s "邮件标题 - 测试" luther@gliethttp.cn -a /etc/passwd -a /etc/resolv.conf

  9. bcc地址和cc抄送地址发送,如果多个邮件地址,使用逗号分隔即可

  luther@gliethttp:~$ echo "测试123abc" | mutt -F /home/luther/muttrc -s "

  邮件标题 - 测试" luther@gliethttp.cn,luther.ge@163.com -b luther.ge@163.com,luther@gliethttp.cn -c   luther.ge@163.com,luther@gliethttp.cn