logo

Linux posta Komutanlığı

Linux posta command, komut satırından e-posta göndermemize olanak tanıyan bir komut satırı yardımcı programıdır. Shell scriptlerinden veya web uygulamalarından programlı olarak e-posta oluşturmak istiyorsak komut satırından e-posta göndermek oldukça faydalı olacaktır. Mail komutu, Shell betiğinin yanı sıra doğrudan terminal tarafından da kullanılabilir. Bununla birlikte, Linux'ta e-postaları komut satırından göndermek için kullanılabilecek birçok başka komut da mevcuttur: sendmail, mutt, SSMTP, telnet , ve dahası. Bu bölümde mail komutuna odaklanacağız.

Linux'ta mail komutunun kurulumu

Mail komutu aşağıdakiler gibi çeşitli paketler tarafından kurulabilir:

  • gnu mailutils
  • yadigarı postax
  • bsd-mailx

Her paket farklı özellik ve seçeneklerle kolaylık sağlar. Örneğin, yadigarı matris Paket, mesaj göndermek için harici bir smtp sunucusu kullanma yeteneğine sahipken, geri kalan iki sunucu yerel smtp sunucusunu kullanıyor.

kapsülleme java'sı

Komut satırından e-posta göndermenin en popüler yolu olan mailutils paketini yükleyeceğiz. E-postaları göndermek için mail komutunu destekler.

Mailutils paketini kurmak için aşağıdaki komutu yürütün:

 sudo apt install mailutils 

Yukarıdaki komut bir sistem şifresi isteyecektir, şifreyi yazın ve tuşuna basın. GİRMEK anahtar. Kurulumu doğrulayacak, yazın 'Ve' Kurulumu onaylamak için. Aşağıdaki çıktı ekini göz önünde bulundurun:

Linux posta Komutanlığı

Bir daemon işlemi başlatacak ve postfix yapılandırmasını isteyecek, istediğiniz postfix seçeneğini seçin.

Linux posta Komutanlığı

Kurulum için dört postfix seçeneği mevcuttur. Bunlar aşağıdaki gibidir:

Linux posta Komutanlığı

İstediğiniz seçeneği seçmek için seçeneğini kullanarak seçeneği kaydırın. OK tuşlarını kullanarak seçin ve SEKME+GİRİŞ anahtarlar. Postfix, istekleri işlemek için sunucuyla etkileşime girer. Postfix seçeneğini seçtikten sonra mailutils paketini makinenize başarıyla kuracaktır.

Posta komutu nasıl çalışır?

Komutun nasıl çalıştığını bilmek önemlidir. Mailutils paketinin mail komutu, postayı belirtilen hedefe göndermek için standart sendmail ikili programını çağırır. Bağlantı noktası 25'teki postaları destekleyen, yerel olarak çalışan bir SMTP sunucusu olan yerel MTA'ya bağlanır.

Bu, mail komutunun kullanılabilmesi için makinemizde smtp sunucusu içeren bir postfix'in çalışıyor olması gerektiği anlamına gelir. Postfix, postanın nereye teslim edileceği hedefi olan DNS'yi sorar, DNS, posta sunucularının bir listesini yanıtlar ve bir SMTP bağlantısı oluşturur. Eksikse ' gibi bir hata mesajı alırız. gönder-posta: Posta açılamıyor:25 '.

Posta komutunu kullanarak posta gönderme

Komut satırından posta göndermek basit bir işlemdir. Terminalden posta göndermek için komutu aşağıdaki gibi yürütün:

 mail -s 'Subject' 

Konuyu belirtmek için '-s' seçeneği kullanılır. Komutu çalıştırdıktan sonra Cc adresini isteyecektir. Cc (karbon kopya) adresini yazın; Enter tuşuna basarak boş bırakabilirsiniz. Metni yazın ve göndermek için CTRL+D tuşlarına basın. Aşağıdaki çıktıyı göz önünde bulundurun:

Linux posta Komutanlığı

Yukarıdaki çıktıdan posta belirtilen posta adresine gönderilecektir.

Posta gövdesini tek satırda belirtin

Konuyu ve mesajı tek satırda belirtebiliriz. Mesaj gövdesini tek bir satırda belirtmek için aşağıdaki komutu yürütün:

 mail -s 'subject' <<< 'Message' 

Yukarıdaki komut postayı belirtilen adrese gönderecektir. Aşağıdaki komutu göz önünde bulundurun:

Linux posta Komutanlığı

Veya komutu şu şekilde de belirtebiliriz:

 echo 'Message body' | mail -s 'Subject' aFrom:Dwivedi [email protected] 

Bir dosyadan mesaj getir

Ayrıca bir dosyadan da mesaj alabiliriz. Mail komutunu bir kabuk betiğinden veya diğer programlardan çağırmak istiyorsak kullanışlıdır. Bir dosyadan mesaj göndermek için komutu aşağıdaki gibi yürütün:

 mail -s &apos;Hello World&apos; [email protected]  <p>The above command will send the message from the file mailcontent.txt. For quick, we can also use the below command:</p> <pre> $ echo &apos;Message body&apos; | mail -s &apos;Subject&apos; </pre> <h3>Specify CC and BCC</h3> <p>We can also attach a bcc and cc address within a command. To attach a bcc and cc address, use the -b and -c options, respectively.</p> <p>To add a bcc address, execute the command as follows:</p> <pre> mail -s &apos;Hello World&apos; -b userto </pre> <p>To add a cc address, execute the command as follows:</p> <pre> mail -s &apos;Hello World&apos; -c userto </pre> <p>Also, we can specify both cc and bcc addresses in a single command. Execute the command as follows:</p> <pre> mail -s &apos;Hello World&apos; -b userto -c userto </pre> <h3>Adding multiple recipients</h3> <p>The mail command allows us to add more than one recipient in a single mail other than cc and bcc. To add more than one mail address, just put the other mail addresses after the first mail address followed by a comma(,). Consider the below command:</p> <pre> mail -s &apos;Hello World&apos; , </pre> <p>The above command will deliver the message to both addresses.</p> <h3>Specify the sender name and address</h3> <p>We can add the additional header information such as &apos;FROM&apos; name and address to attach with the email. To specify the additional information with the mail command, use the -a option with the command. Execute the command as follows:</p> <pre> $ echo &apos;Message body&apos; | mail -s &apos;Subject&apos; -aFrom:Sender_name recipient address </pre> <p>The above command will deliver the specified information to the receiver.</p> <h3>Adding an attachment</h3> <p>We can also attach a file with the mail. The -a option is used to attach a file along with the mail. To add an attachment, execute the command as follows:</p> <pre> echo &apos;Message body&apos; | mail -s &apos;Subject&apos; -r &apos;&apos; -a /path/to/file </pre> <p>The above command will attach a specified file from the specified path with mail.</p> <h2>Read mails</h2> <p>The mail command can be used to read all your incoming mails. However, it is not cool to read mails from the command line, but we can understand it for the shake of knowledge. To read the inbox mails, execute the mail command without any option as follows:</p> <pre> mail </pre> <p>The above command will display all incoming mails.</p> <h2>Manual for the mail command</h2> <p>To read the manual for the mail command, execute the man command as follows:</p> <pre> man mail </pre> <p>The above command will display the manual of the mail command on your terminal. Consider the below output:</p> <img src="//techcodeview.com/img/linux-tutorial/07/linux-mail-command-6.webp" alt="Linux mail Command"> <p>Press the &apos;q&apos; key to exit from the manual and &apos;h&apos; key for help. The help option lists more options to assist you. Consider the below image:</p> <img src="//techcodeview.com/img/linux-tutorial/07/linux-mail-command-7.webp" alt="Linux mail Command"> <p>To exit from the help, press the &apos;q&apos; key.</p> <hr>

CC ve BCC'yi belirtin

Ayrıca bir komutun içine bcc ve cc adresi de ekleyebiliriz. Bir bcc ve cc adresi eklemek için sırasıyla -b ve -c seçeneklerini kullanın.

Bir bcc adresi eklemek için komutu aşağıdaki gibi yürütün:

 mail -s &apos;Hello World&apos; -b userto 

Bir cc adresi eklemek için komutu aşağıdaki gibi yürütün:

 mail -s &apos;Hello World&apos; -c userto 

Ayrıca tek komutta hem cc hem de bcc adreslerini belirtebiliriz. Komutu aşağıdaki gibi yürütün:

 mail -s &apos;Hello World&apos; -b userto -c userto 

Birden fazla alıcı ekleme

Mail komutu tek bir mail içerisine cc ve bcc dışında birden fazla alıcı eklememizi sağlar. Birden fazla posta adresi eklemek için, diğer posta adreslerini ilk posta adresinden sonra virgül (,) koymanız yeterlidir. Aşağıdaki komutu göz önünde bulundurun:

 mail -s &apos;Hello World&apos; , 

Yukarıdaki komut mesajı her iki adrese de iletecektir.

Gönderenin adını ve adresini belirtin

E-postaya eklemek üzere 'FROM' adı ve adresi gibi ek başlık bilgilerini ekleyebiliriz. Ek bilgileri mail komutuyla belirtmek için komutla birlikte -a seçeneğini kullanın. Komutu aşağıdaki gibi yürütün:

 $ echo &apos;Message body&apos; | mail -s &apos;Subject&apos; -aFrom:Sender_name recipient address 

Yukarıdaki komut belirtilen bilgiyi alıcıya iletecektir.

Ek ekleme

Ayrıca postaya bir dosya da ekleyebiliriz. -a seçeneği postayla birlikte bir dosya eklemek için kullanılır. Bir ek eklemek için komutu aşağıdaki gibi yürütün:

 echo &apos;Message body&apos; | mail -s &apos;Subject&apos; -r &apos;&apos; -a /path/to/file 

Yukarıdaki komut, belirtilen yoldan belirtilen dosyayı postayla ekleyecektir.

Postaları oku

Gelen tüm postalarınızı okumak için mail komutunu kullanabilirsiniz. Ancak mailleri komut satırından okumak pek hoş değil ama bilgi sayesinde anlayabiliyoruz. Gelen kutusundaki mailleri okumak için mail komutunu herhangi bir seçenek olmadan aşağıdaki gibi çalıştırınız:

 mail 

Yukarıdaki komut gelen tüm postaları gösterecektir.

Posta komutu için el kitabı

Mail komutunun kılavuzunu okumak için man komutunu aşağıdaki gibi yürütün:

 man mail 

Yukarıdaki komut terminalinizde mail komutunun kılavuzunu görüntüleyecektir. Aşağıdaki çıktıyı göz önünde bulundurun:

Linux posta Komutanlığı

Kılavuzdan çıkmak için 'q' tuşuna, yardım için 'h' tuşuna basın. Yardım seçeneği size yardımcı olacak daha fazla seçeneği listeler. Aşağıdaki görüntüyü göz önünde bulundurun:

Linux posta Komutanlığı

Yardımdan çıkmak için 'q' tuşuna basın.

json formatı örneği