linux脚本发送邮件 shell发送邮件(使用 msmtp+mutt+shell来实现)

之前在Linux下使用mail命令来发送邮件,配置起来比较麻烦,需要配置sendmail的很多东西。而且还必须启动sendmail才能保证邮件发送成功。其实我们就只要能发送邮件就可以,服务器多开个东西就等于多一个入侵的门。而且sendmail漏斗是很多的。那么有没有类似于foxmail,outlook这样的邮件客户端软件,并且有命令行的形式,来发送邮件呢。mutt和msmtp提供了一个很好的解决方案。
开始:
这里因为很多路径我写死了,所以最好按照我的安装路径来安装。或者根据自己的环境修改路径。注意后面的注释。
因为这个我已经写成sh文件,只要执行install.sh就可以,但是这里不能传附件,我就拆开写吧,注意有2个隐藏文件。
我使用的是163的免费邮。如果你用别的,修改相应的smtp地址。后面的注释不用复制。

复制代码

代码如下:

mkdir -p /usr/local/msmtp/etc
vi /root/.msmtprc //注意文件名前面有个“点"
host smtp.163.com //smtp地址
tls off
auth plain
from meiti_jiankong@163.com //从哪个邮件发出来
user meiti_jiankong //用户名
password a#^*225*mgYjm21 //邮箱密码
vi /root/.muttrc
set sendmail="/usr/local/msmtp/bin/msmtp" //msmtp的安装位置。根据自己的情况改
set use_from=yes
set from=meiti_jiankong@163.com //用户名
set envelope_from=yes
vi /usr/local/msmtp/etc/msmtprc
defaults
account meiti_jiankong //用户名
host smtp.163.com // smtp -IP
from meiti_jiankong@163.com //用户名
auth login
port 25
tls off
user meiti_jiankong@163.com //用户名
password a#^*225*mgYjm21 //密码
account default : meiti_jiankong
logfile /usr/local/msmtp/log/msmtp.log //用户名
以上3个文件就这样保存,请确保用户名、密码、stmp的正确性。再来:
mkdir -p /usr/local/msmtp/log
echo 'set sendmail="/usr/local/msmtp/bin/msmtp"' >>/etc/Muttrc
echo "set use_from=yes" >>/etc/Muttrc
echo 'set realname="meiti_jiankong@163.com"' >>/etc/Muttrc //这里改成自己的邮箱
echo 'set editor="vim"' >>/etc/Muttrc
安装软件包msmtp
tar jxvf msmtp-1.4.21.tar.bz2
cd msmtp-1.4.21
./configure --prefix=/usr/local/msmtp
make
sleep 3
make install
sleep 3
cd ..
tar zxvf mutt-1.5.21.tar.gz
cd mutt-1.5.21
./configure --prefix=/usr/local/mutt
make
sleep 3
make install
sleep 3
cd ..
ln -s /usr/local/msmtp/bin/msmtp /usr/bin

这样就完成了
发送命令:
/usr/local/mutt/bin/mutt -s "邮件标题" 281450202@qq.com -c 1516070****@139.com </root/jiankong_log/data.log -a /tmp/附件.txt

-s 邮件标题 紧接的是接收邮件地址 -c 抄送地址 "</root/jiankong_log/data.log "为邮件正文 -a是附件。
如果发送不成功,请检测下配置文件。

李坤山

(0)

相关推荐

  • Linux退出后要如何限制IP登录Shell脚本

    Linux系统虽然比Windows系统安全很多,是很好的程序开发环境,但多少还是存在一些安全隐患的.在Linux用户退出系统后,还是会有多个IP登录的风险,那么Linux退出后要如何限制IP登录She ...

  • efi shell是什么?进入EFI Shell界面方法

    efi shell是什么?下文将介绍进入efi shell界面的方法,对于电脑小白来说,可能不是很了解一些专业的计算机词汇,通过下文大家可以了解“efi shell”,一起来看看吧。 EFI Shel ...

  • Linux VPS服务器依据系统资源自动重启bash shell脚本

    这里介绍有2种不同的操作: 1、监控 linux 服务器负载及内存占用,如 MySQl、php-fpm,当负载或内存占用达到设置值后,便自动重启该进程以避免宕机:根据剩余内存比例反应 2、VPS服务器 ...

  • 编写Linux脚本

    以下是重启Linux下某进程的shell脚本,以tomcat进程为例: #!/bin/sh pid=`ps -ef|grep tomcat|grep -v grep|awk '{print $2}'` ...

  • Linux下查看使用的是哪种shell的方法汇总

    查看当前发行版可以使用的shell 复制代码 代码如下: [root@localhost ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin 查看当 ...

  • Linux shell脚本基础学习详细介绍(完整版)

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头、注释、变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提。 1. Li ...

  • Linux Shell脚本系列教程(一):Shell入门

    这篇文章主要介绍了Linux Shell脚本系列教程(一):Shell入门,本文讲解了Shell简介、Shell基本操作、如何打开Shell终端、Shell脚本的概念、如何运行Shell脚本、Shel ...

  • Linux中执行shell脚本的4种方法总结

    主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下 操作方法 01 方法一:切换到shell脚本所在的目录(此时,称为工作目录) ...

  • linux shell环境以及shell脚本

    linux shell环境以及shell脚本