Otázka:Jak odeslat e-mail s přílohami z počítače se systémem Linux pomocí příkazu mailx?
Odpověď:
Základní syntaxe pro odesílání e-mailů z linuxového počítače pomocí příkazu mailx je uvedena níže:
# echo "this is the body of the email" | mailx -vvv -s "test mail" -r "From" -S smtp="your-smtp" someone@address
zde,
-vvv = Verbosity. -s = Specifies the subject. -r = Email sent from. -S = Specifies the smtp server.
Metoda 1:pomocí uuencode (stará metoda)
Pokud je verze mailx nižší než 12.x, můžete k odesílání e-mailů s přílohami použít příkaz uuencode.
# uuencode [path/to/file] [name_of_attachment] | mailx -s "Subject" [email protected]
Metoda 2:-a přepínač v příkazu mailx
Pomocí nového přepínače příloh (-a) v mailx posílejte přílohy s poštou. Volby -a se používají snadněji než příkaz uuencode.
# mailx -a file.txt -s "Subject" [email protected]
Výše uvedený příkaz vytiskne nový prázdný řádek. Zde napište tělo zprávy a stisknutím [ctrl] + [d] ji odešlete. Tím se soubor správně připojí k odchozímu e-mailu se správným typem obsahu a hraničními záhlavími.
Aby to bylo „skriptovatelné“, můžete zprávu odeslat bez těla s následujícím:
# mailx -a file.txt -s "Subject" [email protected] < /dev/null
Chcete-li odesílat e-maily s tělem zprávy, nahraďte /dev/null ve výše uvedeném příkazu souborem těla zprávy.
V novější verzi mailx se hlavičky používané v odchozích e-mailech změnily z:
From: Date: To: Subject:
do níže uvedeného formuláře:
From: Date: To: Subject: User-Agent: MIME-Version: Content-Type: Content-Transfer-Encoding:POZNÁMKA: Zkontrolujte záhlaví v přijatém e-mailu. E-mail, který byl odeslán se starou metodou uuencode přílohy, bude mít typ obsahu Content-Type:text/plain bez hranic. E-mail, který má přílohy používající novější přepínač mailx -a bude mít Content-Type:multipart/mixed; boundary="=......" headers.Linux / UNIX :Odeslání pošty s přílohou pomocí mutt
Jak posílat e-maily s přílohami pomocí příkazu solaris mailx