天天看點

Linux自帶發送郵件的方法

下面是一個檢測日志檔案(catalina.out)大小的腳本:

1

2

3

4

5

6

7

8

9

10

11

12

<code>#!/bin/bash</code>

<code>#Author:Chris Chan</code>

<code>#Written for check catalina.out</code>

<code>size=$(</code><code>du</code> <code>-m catalina.out| </code><code>awk</code> <code>'{print $1}'</code><code>)</code>

<code>echo</code> <code>catalina.out的大小是:$size</code>

<code>if</code> <code>[ $size -gt 19000 ]</code>

<code>then</code>

<code>        </code><code>rm</code> <code>-rf catalina.out</code>

<code>        </code><code>echo</code> <code>"警告,測試環境cms的catalina.out的大小已經超過18.5G,已經被删除。"</code> <code>| mail -s </code><code>"Warning"</code> <code>[email protected]</code>

<code>else</code>

<code>        </code><code>exit</code>

<code>fi</code>

新的知識點!

用shell發郵件的方法很簡單,格式如下:

echo "郵件内容" |mail -s "郵件标題" 目标郵箱位址

但是有的時候可能會報錯,比如這樣的現象:

<a href="https://s1.51cto.com/wyfs02/M00/8D/8F/wKioL1ihmEGwpPu-AAB9Nb9SX2M248.png" target="_blank"></a>

遇到這樣的現象不要慌,其實郵件已經發送成功了,但是之是以會有這樣的報錯,原因就是目前mail服務不支援ipv6,那麼我們先#vim  /etc/postfix/main.cf,把裡面的inet_protocols = all 修改為 inet_protocols = ipv4,然後#/etc/init.d/postfix restart,就好了。

如果你覺得郵件内容需要更多一些,我們可以使用這樣的方法:

<code>mail -s </code><code>"郵件标題"</code> <code>目标郵件位址 (輸入回車)</code>

<code>"郵件内容1"</code>

<code>"郵件内容2"</code>

ctrl +d 就是把郵件發出。

效果如圖:

<a href="https://s3.51cto.com/wyfs02/M00/8D/91/wKiom1ihmb6RuzTnAACUCXUvFqw821.png" target="_blank"></a>

但是要注意!這種方法發送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”解開注釋: 

<code>inet_interfaces = all</code>

<code>#inet_interfaces = $myhostname</code>

<code>#inet_interfaces = $myhostname, localhost</code>

<code>#inet_interfaces = localhost</code>

<code># Enable IPv4, and IPv6 if supported</code>

<code>inet_protocols = all</code>

然後重新開機一下postfix,#service postfix start即可。

 本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1897416

繼續閱讀