使用msmtp+mutt在shell脚本中发送邮件
思韵闪耀
2013-03-18
0

之前在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是附件。
如果发送不成功,请检测下配置文件。


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

将IIS设置克隆到新服务器...
将IIS设置克隆到新服务器的最佳方法是使用IIS配置文件。以下是详...
2025-06-06
搭建Git服务器及本机克隆...
Git是什么?Git是目前世界上最先进的分布式版本控制系统。SVN...
2025-03-17
ubuntu环境下搭建gi...
操作环境:服务器:Ubuntu 24.04.2 LTS+git 2...
2025-03-17
Linux系统挂载未分配硬...
先查看未挂载之前的磁盘使用情况发现磁盘使用率已经达到了96%,迫切...
2025-02-22
Linux lsblk 命...
简介Linux 中的 lsblk 命令,全称叫做:list blo...
2025-02-22
linux内核5和6区别
Linux内核5.x和6.x版本之间有显著的区别,这些区别主要体现...
2024-04-29

热门资讯

Exchange 2013/2... Exchange 2013/2016/2019邮件大小限制 可以在三个位置上配置Exchange上的...
SMTP 发送邮件错误码和解决... SMTP错误码/建议解决方法 错误总表 420 1. Timeout Communication P...
Exchange 2013 O... 最近在Exchange 2013环境中,遇到OWA/ECP无法访问的问题;用户是可以正常通过...
Roundcube 配置过各提... Fileinfo/mime_content_type configuration: OK Mimet...
彻底卸载Exchange Se... 一般来说,我们安装完Exchange Server 2016之后,可以通过正常卸载程序来进行卸载,但...
Exchange 2013批量... 一批量删除特定主题的邮件 1.1批量删除所有数据库中特定主题的邮件 1)群发了几封主题为backup...
快速查看已安装Exchange... Exchange 2010的版本号在Exchange管理控制台(EMC)显示的,好像不准确了。比如,...
在 Exchange 2016... 用户邮箱是与人员关联的 Exchange 邮箱,通常为每人一个邮箱。每个用户邮箱都有一个关联的 Ac...
exchange2013域名(... 需要对 接受的域 和 电子邮件地址策略进行配置: 首先外网域名要做解析和增加mx记录,这里就不具体说...
如何为AD 添加多个UPN后缀 今天我在群里看到有群友在问User principal name (UPN)多后缀的问题,我在这里就...