当前位置: 代码迷 >> 综合 >> Linux 服务器上面 使用 mutt+msmtp 进行定时邮件发送。
  详细解决方案

Linux 服务器上面 使用 mutt+msmtp 进行定时邮件发送。

热度:80   发布时间:2024-01-22 03:57:44.0


建议使用163免费邮箱

下载MSMTP
 
 
  
  1. wget http://nchc.dl.sourceforge.net/sourceforge/msmtp/msmtp-1.4.30.tar.bz2 
  2. tar xvf msmtp-1.4.30.tar.bz2 
  3. cd msmtp-1.4.30
  4. ./configure --prefix=/usr/local/msmtp 
  5. make 
  6. make install 
  7. cd /usr/local/msmtp/ 
  8. mkdir etc #配置文件目录和配置文件都要自己建 
  9. cd etc 


 

account default
host smtp.163.com
port 25
from qq93667454@163.com
auth login
tls off
user qq93667454@163.com
password XXXXX
logfile /var/log/mmlog


保存退出。
简单测试一下
/usr/local/msmtp/bin/msmtp 93667454@qq.com
随便输入一些内容用ctrl+d结束。然后到邮箱看看有没有收到,如果这里提示错误按照错误代码找原因,或者看看上面的日志文件

下面开始安装 MUTT 如果是CentOS的话直接用yum就好了
yum install mutt
安装完成后要手动给他建立一个配置文件,
 

set sendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径
set use_from=yes
set copy=no #很重要别忘了
set realname="sglv587"
set editor="vi"


简单的5行就可以了
好了,让我们来测试一下吧!

echo "testmail" | mutt -s "测试"  93667454@qq.com  -a /etc/hosts

然后可以写个每天自动发邮件的shell脚本

如:

#!/bin/bash
MAIL_TO_ONE=93667454@qq.com              #发送到的邮箱
DataBakName=test.txtcd /home
echo "叫外卖!!!" | mutt  -s "11点了,叫外卖吃" $MAIL_TO_ONE -a /home/$DataBakName




#给脚本文件添加执行权限
chmod +x /home/xxx.sh


把脚本添加到定时任务中就可以了!

利用系统crontab实现每天自动运行:


crontab -e


输入以下内容:

00 00 * * * /root/xxx.sh


其中00 00为时间分/小时,可自行修改,例如:30 12 ***,就是每天12.30运行这个脚本。

好了,就这么简单