Linux Terminalden E-posta Gönderme Rehberi
Linux komut satırından e-posta göndermek, sistem yöneticileri ve geliştiriciler için kritik bir beceridir.
Bu rehberde, basit metin mesajlarından SMTP kimlik doğrulamalı otomatik uyarılara kadar tüm yöntemleri öğreneceksiniz.
Bu Rehberde Ne Öğreneceksiniz?
mailkomutu ile hızlı e-posta göndermeyimuttkullanarak dosya ekli e-postalar oluşturmayı- Gmail gibi servisler üzerinden güvenli SMTP yapılandırmayı
- Disk, hata ve rapor bildirimlerini Bash betikleriyle otomatikleştirmeyi
Teknik Özet
Bu rehber, Linux (Ubuntu / CentOS) sistemlerde terminal üzerinden e-posta gönderme süreçlerini ele alır.
Amaç, sistem bildirimlerini ve raporları otomatikleştirmektir.
Kapsanan başlıklar:
- mailutils ve mutt kurulumu
- msmtp ile SMTP kimlik doğrulama
- Bash script entegrasyonu
1. Temel Mail Komutu Kullanımı
mail, Linux’ta en temel ve hızlı e-posta aracıdır.
Genellikle yerel sistem uyarıları için kullanılır.
Kurulum
sudo apt install mailutils -y
- Bu komut temel e-posta altyapısını kurar.
2. Basit E-posta Gönderme
echo "Sistem yedeklemesi tamamlandı." | mail -s "Yedekleme Durumu" [email protected]
- Bu yöntem etkileşimsiz mail gönderir.
2. Mutt ile Dosya Ekli E-posta Gönderme
Dosya veya rapor gönderimi için mutt çok daha güvenilirdir. MIME türlerini sorunsuz işler.
- Kurulum
sudo apt install mutt -y
- Bu komut mutt aracını kurar.
Dosya Ekli Gönderim
echo "Güncel rapor ektedir." | mutt -a "rapor.pdf" -s "Haftalık Rapor" -- [email protected]
-- işareti seçeneklerin bittiğini belirtir.
3. Harici SMTP (Gmail vb.) Yapılandırması
Varsayılan mail araçları Gmail gibi servislerle doğrudan çalışmaz. Bu durumda msmtp kullanılmalıdır.
- msmtp Yapılandırması ~/.msmtprc dosyasını oluşturun:
account gmail
host smtp.gmail.com
port 587
auth on
user [email protected]
password uygulama_sifresi
from [email protected]
tls on
account default : gmail
- Bu yapı Gmail SMTP ayarlarını tanımlar.
Güvenlik Ayarı
chmod 600 ~/.msmtprc
- Bu komut yapılandırma dosyasını sadece size özel yapar.
4. Bash Betikleri ile Otomasyon
- Aşağıdaki betik, disk doluluğu %90’ı geçtiğinde uyarı maili gönderir:
#!/bin/bash
doluluk=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$doluluk" -gt 90 ]; then
echo "Sunucu doluluk oranı %$doluluk" | mail -s "Disk Uyarısı" [email protected]
fi
- Bu betik cron ile periyodik çalıştırılabilir.
| Araç | En İyi Kullanım Alanı | Avantajı |
|---|---|---|
| Basit sistem uyarıları | Hızlı ve kolay | |
| mutt | Dosya ekli e-postalar | Güçlü MIME desteği |
| msmtp | Gmail / harici SMTP | Güvenli kimlik doğrulama |
Sıkça Sorulan Sorular (SSS)
1. E-postalarım neden spam’e düşüyor? Yerel sunucudan gönderilen mailler düşük güven puanına sahiptir. Gmail, SendGrid veya kurumsal SMTP kullanmanız önerilir.
2. SMTP şifresini betiğe yazmak güvenli mi? Hayır. Şifreler .msmtprc dosyasında tutulmalı ve chmod 600 uygulanmalıdır.
3. “mail command not found” hatası alıyorum Sistemde mailutils veya mailx kurulu değildir. Kurulum komutunu çalıştırmanız gerekir.
4. Aynı maili birden fazla kişiye gönderebilir miyim? Evet. Adresleri boşlukla yan yana yazmanız yeterlidir.
Sonuç
Komut satırı üzerinden e-posta göndermek, sunucu yönetimini profesyonelleştirir. Doğru araçla kurulan otomasyon, hataları anında fark etmenizi sağlar.
Bu yöntemleri Rabisu Bulut altyapısındaki yüksek performanslı VPS’lerinizde hemen test edebilirsiniz 🚀