Bir mesajı sendmail'e iletme biçimi nedir?


22

Anında mesaj oluşturmak ve aşağıdakileri göndermek için aşağıdaki komutu kullanıyorum:

echo "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail email@example.com

Bilgiyi bir dosyadan gönderdiğinizde, şöyle bir şey yaparak:

sendmail email@example.com mail.txt 

Daha sonra sendmail her satırı bir başlık olarak görür ve ayrıştırır. Ama yukarıda gönderdiğim şekilde, her şey konu satırında sona eriyor.

Eğer biri başlıklarla tamamlanmış bir mesajı, sendmail'e yankılanmak istiyorsa, format nedir? İnsan bunu nasıl yapar?

Yanıtlar:


24

Kişisel echoifadesi gerçekten çıkış yeni satırlar değil dizisi gerektiğini \izledi n. Bunu -eseçeneği sağlayarak yapabilirsiniz :

echo -e "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail email@example.com

Farkın ne olduğunu anlamak için aşağıdaki iki komutun çıktısına bir göz atın:

echo "Subject:Hello \n\n I would like to buy a hamburger\n"
echo -e "Subject:Hello \n\n I would like to buy a hamburger\n"

1

Kabuk komut dosyalarında "Burada belge" (Mesaj başlıklarını ve gövdesini oluşturuyorsunuz)

#!/bin/sh
TO=email@example.com
/usr/sbin/sendmail -i $TO <<MAIL_END
Subject: Hello
To: $TO

I would like to buy a hamburger
MAIL_END

Harici dosyadan ileti gövdesi

#!/bin/sh
TO=email@example.com
BODY_FILE=mail.txt
(cat - $BODY_FILE)<<HEADERS_END | /usr/sbin/sendmail -i $TO
Subject: Hello
To: $TO

HEADERS_END
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.