博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux自带发送邮件的方法
阅读量:6880 次
发布时间:2019-06-26

本文共 1254 字,大约阅读时间需要 4 分钟。

下面是一个检测日志文件(catalina.out)大小的脚本:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
#Author:Chris Chan
#Written for check catalina.out
size=$(
du 
-m catalina.out| 
awk 
'{print $1}'
)
echo 
catalina.out的大小是:$size
if 
[ $size -gt 19000 ]
then
        
rm 
-rf catalina.out
        
echo 
"警告,测试环境cms的catalina.out的大小已经超过18.5G,已经被删除。" 
| mail -s 
"Warning" 
chenx1242@163.com
else
        
exit
fi

新的知识点!

用shell发邮件的方法很简单,格式如下:

echo "邮件内容" |mail -s "邮件标题" 目标邮箱地址

但是有的时候可能会报错,比如这样的现象:

遇到这样的现象不要慌,其实邮件已经发送成功了,但是之所以会有这样的报错,原因就是当前mail服务不支持ipv6,那么我们先#vim  /etc/postfix/main.cf,把里面的inet_protocols = all 修改为 inet_protocols = ipv4,然后#/etc/init.d/postfix restart,就好了。

如果你觉得邮件内容需要更多一些,我们可以使用这样的方法:

1
2
3
mail -s 
"邮件标题" 
目标邮件地址 (输入回车)
"邮件内容1"
"邮件内容2"

ctrl +d 就是把邮件发出。

效果如图:

但是要注意!这种方法发送163和新浪的邮箱是可以的,发送qq邮箱会被默认转移到垃圾邮件里去,需要手动信任一下。

如果有的时候,系统则有这样的报错:“ send-mail: fatal: parameter inet_interfaces: no local interface found for ::1”。

那么就去#vim /etc/postfix/main.cf,把“inet_interfaces = localhost”注释,把“inet_interfaces = all”解开注释: 

1
2
3
4
5
6
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
# Enable IPv4, and IPv6 if supported
inet_protocols = all

然后重启一下postfix,#service postfix start即可。

 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1897416

转载地址:http://hlgfl.baihongyu.com/

你可能感兴趣的文章
node之版本号升级和管理
查看>>
Java与设计模式-策略模式
查看>>
tengine 的优化
查看>>
C++编译器与链接器工作原理
查看>>
软件缺陷分析-软件测试之犯罪心理学
查看>>
Python实战之自己主动化评论
查看>>
spring boot下使用logback或log4j生成符合Logstash标准的JSON格式
查看>>
iOS面试题合集(77道)
查看>>
hadoop安装及配置入门篇
查看>>
[原] KVM 虚拟化原理探究(2)— QEMU启动过程
查看>>
使用Java程序调用MatLab
查看>>
什么是C++虚函数、虚函数的作用和使用方法
查看>>
Atitit.cto 与技术总监的区别
查看>>
关于【自证清白】
查看>>
手把手教你crontab排障
查看>>
订单编号
查看>>
纪念我曾经的 JAVA 姿势--转
查看>>
js 如何清除setinterval
查看>>
我为NET狂官方面试题-数据库篇答案
查看>>
玩转iOS开发:iOS开发中的装逼技术 - RunTime(一)
查看>>