Skip to main content

📧 Linux Komut Satırından E-posta Nasıl Gönderilir?

Linux terminalinden doğrudan e-posta göndermek, geliştiriciler ve sistem yöneticileri için güçlü bir beceridir.
Bu rehberde mail, mutt, mailx ve msmtp araçlarını kullanarak e-posta gönderimini, dosya eklemeyi ve Gmail gibi harici SMTP sunucularıyla kimlik doğrulamasını öğreneceksiniz.
Ayrıca bu komutları Bash betiklerine entegre ederek sistem uyarılarını tamamen otomatik hale getirebileceksiniz. 🚀


🧠 Teknik Özet

KategoriAçıklama
Ana Teknik KonuLinux Komut Satırı E-posta Araçları (mail, mutt, msmtp)
Çözülen ProblemTerminal veya betik üzerinden e-posta gönderme ihtiyacı (metin, ek, SMTP kimlik doğrulamasıyla).
Kullanıcı Adımları1️⃣ mailutils/mailx kur. 2️⃣ mail ile temel e-posta gönder. 3️⃣ mutt ile ekli mail gönder. 4️⃣ msmtp ile Gmail üzerinden kimlik doğrula. 5️⃣ Bu komutları Bash otomasyonuna entegre et.

💌 1. Klasik Yöntem: mail ve mailx Komutları

mail (veya mailx) komutu, terminalden e-posta göndermenin en klasik yoludur.
Ancak çalışabilmesi için sisteminizde bir Mail Transfer Agent (MTA) — örneğin Postfix — yüklü olmalıdır.

Adım 1: Kurulum

sudo apt install mailutils -y        # Debian / Ubuntu
sudo yum install mailx -y # CentOS / Red Hat

Adım 2: Basit Metin E-postası Gönderme


echo "Sunucu durumu: Kritik seviyede disk kullanımı var." | mail -s "Disk Uyarısı" [email protected]

Bu komut, “Disk Uyarısı” başlıklı bir e-postayı hızlıca gönderir.

Adım 3: Etkileşimli Gönderim


mail -s "Test E-postası" [email protected]

Komut çalıştıktan sonra CC adresi ve mesaj gövdesi girilir. Göndermek için Ctrl + D kombinasyonuna basın.


📎 2. Güvenilir Ek Yönetimi: mutt Komutu

mutt, MIME destekli güçlü bir terminal e-posta istemcisidir. Dosya ekleriyle çalışırken mail komutuna göre çok daha kararlıdır.

Adım 1: Kurulum


sudo apt install mutt -y

Adım 2: Ekli E-posta Gönderme


echo "Rapor ektedir." | mutt -a /yedekler/rapor.pdf -s "Haftalık Rapor" -- [email protected]

-- ifadesi, e-posta adresinin bir parametre olarak algılanmaması için kullanılır.


🔐 3. Harici SMTP Kimlik Doğrulaması: msmtp

msmtp, Gmail veya Outlook gibi harici SMTP sunucularına kimlik doğrulamasıyla bağlanmak için tasarlanmıştır. Modern otomasyon senaryolarında en güvenli ve esnek yöntemdir.

Adım 1: Kurulum


sudo apt install msmtp msmtp-mta -y

Adım 2: Yapılandırma Dosyası Oluşturma

Kullanıcı dizininde .msmtprc dosyası oluşturun:


nano ~/.msmtprc

Ve aşağıdaki içeriği girin (Gmail örneği):


account gmail
host smtp.gmail.com
port 587
from [email protected]
auth on
user [email protected]
password UYGULAMA_SIFRENIZ
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

account default : gmail

⚠️ Uyarı: “password” kısmına normal şifrenizi değil, Google hesabınızdan aldığınız Uygulama Şifresi (App Password) bilgisini girin.

Adım 3: Güvenlik İzinleri


chmod 600 ~/.msmtprc

Bu komut, yapılandırma dosyasına sadece sizin erişebilmenizi sağlar.

Adım 4: msmtp ile Gönderim


echo "msmtp üzerinden gönderildi." | mail -s "SMTP Testi" [email protected] -r [email protected]

Bu yöntemle Gmail gibi güvenilir SMTP üzerinden kimlik doğrulamalı e-posta gönderimi yapılır.


⚙️ 4. Bash Betiklerinde Otomasyon

🧩 Örnek 1: Disk Alanı Uyarısı


#!/bin/bash
disk_kullanimi=$(df -h / | awk 'NR==2 {print $5}')
if [[ ${disk_kullanimi%\%} -gt 90 ]]; then
echo "UYARI: Disk kullanımı %90'ın üzerinde! ($disk_kullanimi)" | mail -s "Disk Alanı Alarmı" [email protected]
fi

Bu betik, disk doluluk oranı %90’ı geçince otomatik e-posta gönderir.

🧩 Örnek 2: Log Dosyası Gönderimi


#!/bin/bash
echo "Betik çalışması tamamlandı: $(date)" > sistem_log.txt
echo "Güncel log dosyası ektedir." | mutt -s "Sistem Log Raporu" -a sistem_log.txt -- [email protected] < /dev/null

Bu betik, oluşturulan sistem_log.txt dosyasını otomatik olarak ekli e-posta ile gönderir.


🧠 Sıkça Sorulan Sorular (SSS)

1. Hangi komutu ne zaman kullanmalıyım?

mail / mailx: Basit metin e-postaları için.

mutt: Ekli dosyalarla e-posta göndermek için.

msmtp: Harici SMTP ile güvenli kimlik doğrulaması için.

2. E-postalarım neden spam klasörüne düşüyor?

Çünkü kimlik doğrulaması yapılmamış bir sunucudan gönderiliyor. ✅ Çözüm: msmtp veya Postfix relay kullanarak güvenilir SMTP üzerinden gönderin.

3. Gmail hesabımla nasıl mail gönderebilirim?

Google hesabınızdan “Uygulama Şifresi (App Password)” oluşturun ve .msmtprc dosyasında kullanın.

4. sendmail ve Postfix ne işe yarar?

Bunlar MTA (Mail Transfer Agent) yazılımlarıdır. mail, mutt veya msmtp gibi araçların arkasında e-posta iletimini gerçekleştirirler.


💡 Özet

AraçKullanım AlanıArtılarıEksileri
mail / mailxBasit e-postalarHızlı, kolaySMTP desteği yok
muttEkli e-postalarMIME desteği, esnekKonfigürasyon zor
msmtpKimlik doğrulamalı SMTPGüvenli, modernYalnızca gönderim
sendmailSunucu seviyesi postaGüçlüKarmaşık yapılandırma

🎯 Sonuç

Komut satırından e-posta göndermek, sistem yöneticileri için hem pratik hem de otomasyon dostu bir beceridir.

Basit uyarılar için → mail

Ekli gönderimler için → mutt

Güvenli SMTP için → msmtp

💼 İpucu: Bu işlemleri Rabisu Bulut üzerindeki sunucularında test ederek, kendi e-posta otomasyon sistemini dakikalar içinde kurabilirsin.