之前在Linux下使用mail命令来发送邮件,配置起来比较麻烦,需要配置sendmail的很多东西。而且还必须启动sendmail才能保证邮件发送成功。其实我们就只要能发送邮件就可以,服务器多开个东西就等于多一个入侵的门。而且sendmail漏斗是很多的。那么有没有类似于foxmail,outlook这样的邮件客户端软件,并且有命令行的形式,来发送邮件呢。mutt和msmtp提供了一个很好的解决方案。 开始: 这里因为很多路径我写死了,所以最好按照我的安装路径来安装。或者根据自己的环境修改路径。注意后面的注释。 因为这个我已经写成sh文件,只要执行install.sh就可以,但是这里不能传附件,我就拆开写吧,注意有2个隐藏文件。 我使用的是的免费邮。如果你用别的,修改相应的smtp地址。后面的注释不用复制。 复制代码代码如下: mkdir -p /usr/local/msmtp/etc vi /root/.msmtprc //注意文件名前面有个“点" host smtp..com //smtp地址 tls off auth plain from meiti_jiankong@.com //从哪个邮件发出来 user meiti_jiankong //用户名 password a#^**mgYjm //邮箱密码 vi /root/.muttrc set sendmail="/usr/local/msmtp/bin/msmtp" //msmtp的安装位置。根据自己的情况改 set use_from=yes set from=meiti_jiankong@.com //用户名 set envelope_from=yes vi /usr/local/msmtp/etc/msmtprc defaults account meiti_jiankong //用户名 host smtp..com // smtp -IP from meiti_jiankong@.com //用户名 auth login port tls off user meiti_jiankong@.com //用户名 password a#^**mgYjm //密码 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@.com"' >>/etc/Muttrc //这里改成自己的邮箱 echo 'set editor="vim"' >>/etc/Muttrc 安装软件包msmtp tar jxvf msmtp-1.4..tar.bz2 cd msmtp-1.4. ./configure --prefix=/usr/local/msmtp make sleep 3 make install sleep 3 cd .. tar zxvf mutt-1.5..tar.gz cd mutt-1.5. ./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 "邮件标题" @qq.com -c ****@.com </root/jiankong_log/data.log -a /tmp/附件.txt -s 邮件标题 紧接的是接收邮件地址 -c 抄送地址 "</root/jiankong_log/data.log "为邮件正文 -a是附件。 如果发送不成功,请检测下配置文件。 李坤山
推荐整理分享linux脚本发送邮件 shell发送邮件(使用 msmtp+mutt+shell来实现)(linux收发邮件),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux发送邮件,linux命令行发送邮件,linux发送邮件命令 sendmail,linux脚本发送邮件,linux命令行发送邮件,linux邮件发送命令,linux命令行发送邮件,linux邮件发送命令,内容如对您有帮助,希望把文章链接给更多的朋友!
Linux下批量Kill多个进程的方法 ps-ef|grepLOCAL=NO|grep-vgrep|cut-c9-|xargskill-9管道符|用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的
linux shell下时间的操作 date+%Y%m%d-d2dayagodate+%Y%m%d-d2weekagodate+%Y%m%d-d2monthagodate+%Y%m%d-d2yearagodate-dyesterday昨天的命令是:yesterdayformat=`date--date='yesterday'+%Y-%m-%d_%H:%M:%S`echo$yesterdayformat
gcc 动态编译 优点:体积小,编译快缺点:依赖性高复制代码代码如下:[root@---shared]#catadd.cintadd(intx,inty){returnx+y;}Parsedin0.secondsat.KB/sadd.c求和函数复制代码