Ubuntu Linux自动发邮件配置及邮件发送脚本
测试环境:Ubuntu 11.10
1. 安装mutt及msmtp软件
sudo apt-get install mutt
sudo apt-get install msmtp
2. 编辑配置文件vi ~/.muttrc
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="Guobao Jiang"
set from=loveaborn@163.com
set envelope_from=yes
3.编辑配置文件vi ~/.msmtprc (账号和密码相应改动,最好把该文件属性改为:
chmod 700 ~/.msmtprc
其他人不能修改和查看)
account default
host smtp.163.com
from loveaborn@163.com
auth plain
user loveaborn
password ####
logfile ~/.msmtp.log
4.编写自动发送邮件脚本,如下:
#!/bin/bash
######################################################################################
# this shell script is used to send mail automatically
# the root structure is
# .
# ./autosend.sh -- this shell script
# ./attach/ -- this folder stored mail's all attachment.
# ./bak/ -- for backup
# ./log/ -- send & unsend log files
# ./mail/ -- mail text content, default file name './mail/mail.md'
# ./readme.md -- readme file (not mandatory)
# version: v0.1 @Aug. 4, 2013, by Guobao Jiang
###################################################################################### dateInfo="$(date +%Y-%m-%d-%H-%M-%S)"
attachName="attach_$dateInfo.tar.gz";
contentFile="./mail/mail.md"
toName="loveaborn@foxmail.com"
ccName="loveaborn@163.com"
if [ -f ./mail/mail.md ]; then
if [ ! -f ./log/send.log ];then
touch ./log/send.log
fi
sendLog="./log/send.log"
tar zcvf $attachName ./attach
sleep 2
rm -rf ./attach/*
mkdir -p "./bak/mail_$dateInfo"
cp $attachName "./bak/mail_$dateInfo"
cp ./mail/mail.md "./bak/mail_$dateInfo" echo -e " " >>$contentFile
echo -e "------------------" >> $contentFile
echo -e "Note: This mail is automaticall by my server." >> $contentFile
echo -e "BR// Guobao Jiang (loveaborn@foxmail.com)" >> $contentFile
echo -e "DateRecord: $dateInfo" >> $contentFile echo -e " " >>"$sendLog"
echo -e "-----------------------------------" >>"$sendLog"
echo -e "Sending mail..." >>"$sendLog" mutt -s "Update Experiments Result $dateInfo" -c $ccName $toName \
-a $attachName< "$contentFile" if [ $? -eq 0 ]; then
rm -rf $attachName
rm -rf ./mail/mail.md
#rm -rf ./attach/* # if success, delete all attachment files.
echo -e "mail was sent to $toName and cc to $ccName successully!" >> \
"$sendLog"
else
rm -rf $attachName
rm -rf "./bak/mail_$dateInfo"
echo -e "mail sent failed! Please try again!" >>"$sendLog"
fi
echo -e "RecordTime:$dateInfo" >>"$sendLog" else
if [ ! -f ./log/record.log ]; then
touch ./log/nosend.log
fi
echo -e "No mail contents to send! RecordTime: $dateInfo" >>./log/nosend.log
fi
注意0: 文件autosend.sh,添加可执行属性
chmod u+x autosend.sh
注意1:附近 -a $attachName 放在最后,不然会出现如下错误:
Can’t stat loveaborn@foxmail.com: No such file or directory
loveaborn@foxmail.com: unable to attach file.
注意2:我的邮件内容是放在./mail/mail.md文件里的,发送完会备注到./bak下并删除原来的文件。
目录结构如下:
参考链接:点击
Ubuntu Linux自动发邮件配置及邮件发送脚本的更多相关文章
- ubuntu Linux 操作系统安装与配置
Ubuntu是一个以桌面应用为主的Linux操作系统.Ubuntu每六个月发布一个新版本(一般是4和10月份,命名为YY.MM),每一个普通版本都将被支持 18个月,长期支持版(Long Term S ...
- jenkins邮件配置以及邮件添加附件详解
1.在系统管理-系统设置 中找到邮件配置模块 填写情况如下图 第一步,填写系统管理员邮箱 第二步,填写邮箱配置 第三步,然后在项目中添加邮箱配置 项目中邮件设置中关于附件添加 因为我的项目目录中分3 ...
- svn自动发用户名密码到邮件(明文密码)
#!/bin/sh touch testlist cat /dev/null > testlist grep "=" passwd |grep -v "#" ...
- jekins构建通知邮件配置及邮件附件设置,jenkins构建通知邮件没有RF的log和report文件
全局配置: 系统管理-系统设置-Extended E-mail Notification (本邮件是程序自动下发的,请勿回复!)<br/><br/>项目名称:$PROJECT_ ...
- ubuntu linux环境下安装配置jdk和tomcat
关于linux搭建服务器,ubuntu中jdk和tomcat的安装和配置 一.jdk的安装配置 1:去官网下载好自己需要的版本,注意,linux压缩文件通常以tar.gz结尾,别下载错了.本次我下载安 ...
- (实用)Ubuntu Linux静态IP网络配置
记录备忘. 基于Ubuntu 14.04 LTS Server. 首先查看一下当前系统的网卡: $ sudo iconfig 比如这里我除了回环网路lo外,网络接口名为em1,下面就去给它配置网络. ...
- Ubuntu linux下部署golang配置环境,极客学院 无闻讲的安装配置是错的,折腾我好几遍,真是有点坑
开始按极客学院无闻讲的做,弄了几遍都不行,最后发现是错的,别人告诉我这是mac下的virtualbox是这样的,不管怎样,被坑的不浅. 虽然sudo apt install golang-go 就能安 ...
- SQL Server代理(4/12):配置数据库邮件
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在以前的文章里我们看到,SQL Serve ...
- Jenkins之发送html附件邮件配置
邮件配置: 邮件内容范例: ${FILE,path="C:\\Users\\Administrator\\.jenkins\\workspace\\XXX自动化测试工程目录\\$JOB_BA ...
随机推荐
- qt study2
- 导出Excel超过65535条限制解决方案
使用poi导出excel的时候如果数据过多,超过65535条会报错,因为excel2003一个sheet表最多导出65535条,excel2007是10万4000多条限制. 因此遇到这种excel导出 ...
- Java 中的三大特性
我们都知道 Java 中有三大特性,那就是继承 ,封装和多态 .那我今天我就来说说这几个特性 . 老样子 ,先问问自己为什么会存在这些特性 .首先说封装 ,封装就是使用权限修饰符来实现对属性的隐藏 , ...
- Python闭包Closure 2
由于Python中,变量作用域为LEGB,所以在函数内部可以读取外部变量,但是在函数外不能读取函数内的变量.但是出于种种原因,我们需要读取函数内的变量时候怎么办?那就是在函数内在加一个函数. def ...
- 第一个ASP.NET MVC应用程序
首先打开vs2015 文件->新建->项目 选择模版选empty,下面[为下项添加文件夹和核心引用]勾选mvc 点击确定就好
- ZOJ2112 BZOJ1901 Dynamic Rankings 树套树 带修改的区间第k小
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2112 树套树,线段树套splay或者主席树套树状数组,我抄了一下hzwer ...
- 浅析SDWebImage
浅析SDWebImage 在日常的开发过程中,如果去优雅的访问网络的图片并去管理每个工程必须要面对的问题,如果想要在工程里面提供易用.简洁.方便管理的解决方案还是很有挑战的,毕竟还要兼顾图片文件的缓存 ...
- 【洛谷】3469:[POI2008]BLO-Blockade【割点统计size】
P3469 [POI2008]BLO-Blockade 题意翻译 在Byteotia有n个城镇. 一些城镇之间由无向边连接. 在城镇外没有十字路口,尽管可能有桥,隧道或者高架公路(反正不考虑这些).每 ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置(转)
原文地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...
- 趁热打铁学node
前言 不废话直接官网下载安装. windows安装很简单,双击ok. 完成后命令行输入node -v. 会提示版本号,说明安装成功(Node.js 还自动附带安装了 npm,类似ruby的gem). ...