脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - shell - 浅析linux下如何用脚本自动发送文本mail邮件

浅析linux下如何用脚本自动发送文本mail邮件

2022-12-19 16:06脚本之家 shell

这篇文章主要是介绍如何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

延伸 · 阅读

精彩推荐