Apa format untuk mengirim pesan ke sendmail?

22

Saya menggunakan perintah berikut untuk membuat pesan dengan cepat, dan mengirimkannya:

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

Tampaknya ketika Anda mengirim informasi dari file, dengan melakukan sesuatu seperti:

sendmail email@example.com mail.txt 

Kemudian sendmail melihat setiap baris sebagai header, dan mem-parsingnya. Tapi cara saya mengirimnya di atas, semuanya berakhir di baris subjek.

Jika seseorang ingin menggemakan pesan lengkap dengan header, ke sendmail, lalu apa formatnya? Bagaimana cara melakukannya?

Kaizer Sozay
sumber

Jawaban:

24

echoPernyataan Anda harus benar-benar menampilkan baris baru, bukan urutan yang \diikuti n. Anda dapat melakukannya dengan memberikan -eopsi:

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

Untuk memahami apa perbedaannya, lihat output dari dua perintah berikut:

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"
Anthon
sumber
1

"Di sini dokumen" dalam skrip shell (Anda menulis header dan isi pesan)

#!/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

Badan pesan dari file eksternal

#!/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
AnFi
sumber