RaspBerry Pi – mailx

Rasp_turn_around

Merhaba,

Raspberry Pi hayatımıza gireli epey bir zaman oldu. Bununla Raspberyy Pi ‘nin kullanım alanlarıda fazlalaştı.

Şu anda kullanmış olduğum Raspberry Pi makinası Özgür ILGIN tarafından sağlanmıştır. Kendisine teşekkür ediyorum.

İnsanlar hobi amaçlı kullandıkları gibi evlerinde 7/24 çalışan web sunucu olarak da kullanmaya başladılar. Tabi olarak doğal olarak sunucu sistemlerin takibi gerekmektedir. Ülkemizde Adsl Hatlarının sıklıkla kesildiği ve statip ip adreslerimizin bize haber verilmeden değiştirildiği de biliniyor.

Evimizin bir köşesinde sessiz sedasız bize hizmet veren Raspberry Pi nin ip adresinin değiştiğini varsayarak,  Raspberry Pi nin bize ip adresini mail olarak göndermesini sağladık. Bunun için bize konsoldan kullandığımız mailx yeter artar bile. işlemlerimize başlıyoruz. Raspberry Pi üzerinde Rasbian kullanıyoruz.

sudo apt-get install heirloom-mailx

 

Normalde mailx yada mail yerelde çalışan mail MTA yı kullanır. Biz biraz farklı olarak gmail kullanmayı tercih ettik ;-) mailx harici MTA üzerinden mail gönderimi yapabiliyor. Gmail den gönderme işlemini  ev dizinimizde oluşturacağımız .mailrc ile yapacağız.

komut nano .mailrc

açılan dosyanın içeriğine linkteki içeriği yapıştırın.  Kendinize göre düzenlemeyi unutmayın.

//kod mailrc
set smtp-use-starttls
set nss-config-dir=/etc/ssl/cert/
set ssl-verify=ignore
set smtp=smtp://smtp.gmail.com:587
set smtp-auth=login
set smtp-auth-user=FalancaFilanca@gmail.com
set smtp-auth-password=PAROLANIZI_YAZINIZ
set from="$FROM_EMAIL_ADDRESS(Falanca Filanca)"

Ctrl+x ve y ile nano dan çıkın

şimdi mail gönderen betiğimize sıra geldi.

//kod

nano mektup.sh
#!/bin/bash
# Caylak Penguen 12 Mayis 2014 Pazartesi
# Web sunucusunun ip adresini patronuna bildirmesi icin betik.
#
cd /home/pi
wget -O ip.txt http://ipecho.net/plain
IP=$(cat ip.txt)

cat >mektup.txt<<EOF
Merhaba Patron.

IP adresim : $IP

Evinizin Web Sunucusu : Raspberry Pi

Zaman Bilgisi: date
EOF

mail -v -s "ip adresim" FalancaFilanca@gmail.com <mektup.txt
#//kod bitis


Betiğin  çalışma anındaki görüntüleri.

 

mailx-pi

 

 

gelen mail resmi.

mailx-pi-mail

Raspberry pi bize otomatik olarak e-posta göndermesini istiyorsak crontab görevi eklemeliyiz.

öncelikle mektup.sh betiğimizi executable yapalım.
chmod +x mektup.sh

daha sonra crontab görevi ekleyelim.
crontab -e

açılan editör penceresine aşağıdaki kodu yapıştırıp kaydedelim.

Her saat başında e-posta gönderir.
00 * * * * /home/pi/mektup.sh

Dört saatte bir eposta gönderir.
00 */4 * * * /home/pi/mektup.sh

Faydalı olması dileğiyle.
caylakpenguen
caylakpenguen

Truva Linux takımıyla 2006'da tanışan "Çaylak Penguen" -BASH- betiklerine bayılır. Truva'nıñ çekirdek derleme işleri ile çalışan cd tasarımıyla uğraşmaktadır.

8 yorum:

  1. Bu konuda güncel bir paylaşım yapabilir misin? mailx yok

    YanıtlayınSil
  2. Merhaba.
    mailx yerine mutt kullanabilirsiniz.
    mail gönderme komutunu
    mail -s "ip adresim" FalancaFilanca@gmail.com
    yerine
    mutt -s "ip adresim" FalancaFilanca@gmail.com
    değiştirerek kullanabilirsiniz.

    Mutt ile alakalı bloğumda bir yazı bulunmaktadır.

    https://caylak.truvalinux.org.tr/blog/mutt-gmail

    YanıtlayınSil
  3. /home/pi/.muttrc dosyasında hata var, satır 89: Gmail: bilinmeyen komut
    source: /home/pi/.muttrc dosyasında hatalar var
    SASL authentication failed
    İleti gönderilemedi.
    mektup.sh: 37: mektup.sh: //kod: not found


    bu şekilde hata veriyor .

    YanıtlayınSil
  4. //kod kısmını siliniz veya ön tarafa # yerleştiriniz.

    Yanlışlıkla kalmış orada :)

    YanıtlayınSil
  5. mail gönderilemiyorsa .muttrc dosyasını hatalı editlemiş olabilirsiniz.

    YanıtlayınSil
  6. SASL authentication failed
    İleti gönderilemedi.

    hatası alıyorum dediğiniz gibi düzenledim.

    YanıtlayınSil
  7. Sorunu çözdüm mail güvenliğini düşürerek.

    Şimdi bunun düzenli çalışmasını nasıl sağlayabilirim? İp değiştikçe haber verecek şekilde açıldığında vs otomatik başlaması için.

    YanıtlayınSil
  8. Yazıyı güncelledim.
    mektup.sh betiğini yazıya göre güncelleyiniz.
    daha sonra cron girdisini eklersiniz.

    YanıtlayınSil