Başlatma:
Birçok Linux komutu, komut satırından veya bir bash betiği kullanarak e-posta göndermek için kullanılabilir. Ancak sistemde düzgün bir SMTP sunucusu kurulmamışsa, herhangi bir e-posta gönderme komutu çalışmayacaktır. Komut satırından e-posta göndermek için kendi SMTP sunucunuzu kurabilir veya Gmail veya Yahoo gibi iyi bilinen herhangi bir e-posta servis sağlayıcısının ücretsiz SMTP sunucusunu kullanabilirsiniz. Bu eğitimde bir Gmail hesabının SMTP sunucusu kullanılır. Bu görevi yapmak için, bir Gmail hesabı seçmeniz ve bu hesabın e-postayı göndermesi için 'Daha az güvenli uygulamalara izin ver' seçeneğini etkinleştirmeniz gerekir. Bu seçeneği etkinleştirmek için aşağıdaki öğreticiyi ziyaret edebilirsiniz.
https://linuxhint.com/how-to-send-email-from-php/
Bu seçeneği etkinleştirdikten sonra ' /etc/ssmtp/ssmtp.conf' dosyasını 'root' ayrıcalığı ile açmanız ve dosyanın sonuna aşağıdaki satırları eklemeniz gerekmektedir. Kurulumu tamamlamak için e-posta adresinizi 'AuthUser' ve e-posta şifrenizi 'AuthPass' olarak ayarlamanız gerekir.
KullanSTARTTLS=EVET
FromLineOverride=EVET
kök=yönetici@örnek.com
posta merkezi=smtp.gmail.com:587
Yetki Kullanıcısı= kullanıcı adı@gmail.com
AuthPass=şifre
Örnek-1: Sendmail Komutunu Kullanma
Linux'un popüler e-posta gönderme komutlarından biri 'sendmail'dir. Kullanıcı bu komutu kullanarak komut satırından kolayca e-posta gönderebilir. Sendmail paketi sistemde kurulu değilse paketi kurmak için aşağıdaki komutu çalıştırın.
$sudouygunYüklemekssmtp
E-posta içeriğinin aşağıdaki içerikle birlikte 'email.txt' adlı bir dosyada saklandığını varsayalım. Burada, 'Konu:' dan sonraki metin e-posta konusu olarak, kalan kısım ise e-posta gövdesi olarak gönderilecektir.
e-posta.txt
Konu: sendmail kullanarak e-posta gönderme
E-posta gövdesini test etme
Aşağıdaki komut gibi alıcı e-posta adresi ile `sendmail' komutunu çalıştırın.
$posta göndermekKullanıcı adı@gmail.com<e-posta.txt
Örnek-2: 'mail' Komutunu Kullanma
Linux'ta e-posta göndermek için en yaygın komut 'mail' komutudur. Bu komut, varsayılan olarak Ubuntu'da yüklü değildir. `mail` komutunu yüklemek için aşağıdaki komutu çalıştırın.
$sudouygunYüklemekmailutilsAşağıdaki komut, sistemde yüklüyse bu komutun sürümünü gösterecektir.
$posta-V
E-postanın konusunu tanımlamak için 'mail' komutunda '-s' seçeneği kullanılır. Aşağıdaki komut gibi e-posta konusu ve alıcı e-posta adresi ile '-s' seçeneği ile 'mail' komutunu çalıştırın. Cc: adresini soracaktır. Bilgi: alanını kullanmak istemiyorsanız, boş bırakın ve enter tuşuna basın. İleti gövdesini yazın ve e-postayı göndermek için Ctrl+D tuşlarına basın.
$posta-s 'ders'Kullanıcı adı@gmail.com
Komuta e-posta mesajı gövdesi eklemek istiyorsanız, '<<<’ operator like the following command.
$posta-s 'Mesaj Konusu'Kullanıcı adı@gmail.com<<< 'mesaj gövdesini test etme'
Ayrıca '-a' seçeneğini kullanarak 'mail' komutu ile gönderen e-posta adresini ekleyebilirsiniz. Aşağıdaki komut, 'mesaj konusu', gönderenin adı ve e-posta adresi, 'Yönetici' başlıklı e-postayı gönderir.<[e-posta korumalı]>' ve alıcı e-posta adresi,[e-posta korumalı]ve mesaj gövdesi, 'test mesajı'.
$ posta-s 'Mesaj Konusu' -ileKimden:Yönetici<yönetici@örnek.com >Kullanıcı adı@gmail.com<<< 'test mesajı'
Ayrıca echo ve pipe( | ) komutunu kullanarak bir e-posta mesajı gövdesi gönderebilirsiniz. Aşağıdaki komut, ileti gövdesini göndermek için boru (|) komutunu kullanır.
$dışarı attı 'test mesajı' |posta-s 'Mesaj Konusu'Kullanıcı adı@örnek.com
E-posta, `mail` komutu kullanılarak ve alıcıların adresleri virgülle ayırarak eklenerek birden fazla alıcıya gönderilebilir. Aşağıdaki komut iki alıcıya bir e-posta gönderilecektir.
$posta-s 'Test e-postası'kullanıcı adı1@örnek.com , kullanıcı adı2@örnek.com<test.txt
Örnek-3: 'mutt' komutunu kullanma
'mail' komutu gibi, 'mutt' komutu da varsayılan olarak Ubuntu'da yüklü değildir. 'mutt' komutunu yüklemek için aşağıdaki komutu çalıştırın.
$sudouygunYüklemekahmak'mutt' komutu, 'mail' komutuna benzer şekilde çalışır ancak 'mutt' komutunun e-postayı göndermek için kendi düzenleyicisi vardır. E-postayı göndermek için geçerli e-posta adresiyle aşağıdaki komutu çalıştırın.
$dışarı attıtest mesajı|ahmak-s 'Test E-postası'Kullanıcı adı@örnek.com
'mail' veya 'mutt' komutu ile '-a' seçeneğini kullanarak herhangi bir dosyayı ekleyebilirsiniz. Aşağıdaki komut, e-postayı gönderirken item.txt dosyasını ekleyecektir.
$dışarı attı 'test mesajı' |ahmak-s 'Mesaj Konusu' -ileöğeler.txt-Kullanıcı adı@gmail.com
Örnek-4: 'SSMTP' Komutunu Kullanma
Başka bir e-posta komutu `ssmtp` komutudur. ssmtp daha önce kurulmamışsa, önce paketi kurun. ssmtp için kurulum komutu örnek-1'de gösterilmiştir. ssmtp ve sendmail komutları benzer şekilde çalışır.
Geçerli e-posta adresiyle aşağıdaki komutu çalıştırın. E-posta konusunu ve gövdesini yazın. Çıkmak ve e-postayı göndermek için ctrl+D tuşlarına basın.
$ssmtp kullanıcı adı@gmail.com
Örnek-5: mailx Komutunu Kullanma
HTML içeriğini yalnızca metin mesajını göndermeden e-posta gövdesi olarak gönderebilirsiniz. İleti gövdesi olarak kullanmak için 'test.html' adlı bir HTML dosyası oluşturun.
test.html
< html >< vücut >>
< h3 >E-posta Gönderme</ h3 >
< Yapmak boy='2' renk='ağ'>Mesaj gövdesini test etme</ Yapmak >
<</ vücut >
</ html >
`mailx` komutu, `mail` komutu gibi çalışır. HTML içeriğini `mailx` komutunda mesaj gövdesi olarak göndermek için Content-Type'ı text/html olarak belirtmelisiniz. Aşağıdaki komut, e-posta mesajı gövdesi olarak 'test.html' dosyasının içeriğini gönderecektir.
$ postax-ile 'İçerik Türü: metin/html' -s 'mailx kullanarak e-posta gönderme'<test.html' [e-posta korumalı]'
Alıcı e-posta hesabının gelen kutusunu kontrol ettiğinizde e-posta listesi aşağıdaki resim olarak gösterilecektir.
Çözüm
Yukarıdaki komutları düzgün bir şekilde uyguladıktan sonra, okuyucunun Linux'ta komut satırından kolayca e-posta gönderebileceğini umuyoruz.