古人智慧

Just Do it!
上士聞道,勤而行之;中士聞道,若存若亡;下士聞道,大笑之。不笑,不足以爲道。
~ 道德經 41

搜尋此網誌

Translation

2015年10月11日 星期日

[Banana] send email through gmail server

用ADSL最麻煩就是IP時常會被更換,如果架設server就很頭疼。
我想到一個方法就是每隔一段時間,自動由Banana送出一個email內含IP address就可解決。

由Linux系統送Email經過Gmail的server
http://www.arthurtoday.com/2011/08/ubuntu-google-apps-gmail-smtp-relay.html

安装mail server
sudo apt-get install msmtp

sudo apt-get install sendmail mailutils sendmail-bin

設定msmtp為sendmail
sudo ln -s /usr/bin/msmtp /usr/sbin/sendmail

裝好之後,要人工來建立這個 msmtp 的設定檔,請在 /etc 下建立一個叫做「msmtprc」的檔案,然後,在 /etc/msmtprc 檔案裡,加入下列設定內容。

$ sudo nano /etc/msmtprc

account gmail
host smtp.gmail.com
protocol smtp
port 587
auth on
user arthur.yu@arthurtoday.com
password 12345678
tls on
tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt
from arthur.yu@arthurtoday.com
account default: gmail

有個問題就是要把Gmail的權限保護取消,不然會被Gmail擋住。
然後設定例行工作:
http://linux.vbird.org/linux_basic/0430cron.php#cron
取得外網IP:
http://ipecho.net/plain

實例解說:
list 目前所有例行性工作
regis@lemaker:~$ sudo crontab -l
edit 工作列表
regis@lemaker:~$ sudo crontab -e
加入這兩行
# m h  dom mon dow   command
* 7 * * * wget -qO- http://ipecho.net/plain > /home/regis/ip.txt
* 8 * * * mail xxxxx@xxxxxx.com < /home/regis/ip.txt
說明:
每天7點取得外部IP address
每天8點把IP透過Gmail把IP寄到特定的email box

簡單吧?

如果,要每3分鐘執行ip_send這個file,如何做?
*/3 * * * * /home/regis/ip_send 

《升級》

用script整合取得ip與寄送email是比較好的做法~
regis@lemaker:~$ nano ip_send

#!/bin/bash
wget -qO- http://ipecho.net/plain > /home/regis/ip.txt
mail xxxx@aaaa.bbb < /home/regis/ip.txt

變更為可執行mode
regis@lemaker:~$ chmod +x ip_send

再修改crontab
regis@lemaker:~$ sudo crontab -e

* 7 * * * /home/regis/ip_send
每天7點把ip送出



沒有留言:

張貼留言