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?

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"

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.