Otázka :Jak mohu odeslat e-mail s přílohou z příkazového řádku Linuxu (nebo skriptu shellu)? Mohu také odeslat přílohu a hlavní text společně v e-mailu z příkazového řádku systému Linux?
Odpověď :Můžete odeslat přílohu i hlavní text (nebo pouze přílohu s předmětem) z příkazového řádku Linuxu, jak je vysvětleno níže.
1. Odeslat e-mail s předmětem a tělem
Obvykle byste z příkazového řádku systému Linux odeslali e-mail s předmětem a hlavním textem, jak je uvedeno níže. Vezměte prosím na vědomí, že byste měli zadat . (tečka) na samostatném řádku označující konec textu.
$ mail [email protected] Subject: Email Testing from Linux Dear, It is very easy to send an email from Linux command line. Thanks, Ramesh . Cc: [email protected]
Pokud si chcete přečíst hlavní text ze souboru (například body-message.txt), odešlete e-mail, jak je uvedeno níže.
$ cat body-message.txt | mail -s "Email testing from Linux" [email protected]
2. Odeslat e-mail s přílohou
Chcete-li odeslat přílohu z e-mailu, použijte příkaz uuencode. Na RedHat (a souvisejících distribucích) je uuencode součástí balíčku sharutils. Nainstalujte tedy sharutily, jak je uvedeno níže.
# rpm -ivh sharutils-4.6.1-2.i386.rpm Preparing... ############################## [100%] 1:sharutils ############################## [100%]
Jakmile potvrdíte, že máte uuencode, odešlete e-mail s přílohou, jak je uvedeno níže.
$ uuencode input-attachment.txt output-attachment.txt | \ mail -s "Email With Attachment" [email protected]
V tomto příkladu
- input-attachment.txt je soubor, který chcete připojit k e-mailu.
- Pokud chcete, aby byl soubor připojen pod jiným názvem, zadejte jej jako 2. parametr kódu uuencode. V tomto příkladu bude obsah souboru intput-attachment.txt připojen jako output-attachment.txt
Poznámka:uuencode lze také použít k odeslání příloh base64, jak je uvedeno níže.
$ uuencode -m input-attachment.txt output-attachment.txt | \ mail -s "Email With Base64 Attachment" [email protected]
3. Odeslat e-mail s přílohou a tělem
Můžete odeslat e-mail s přílohou i tělem zprávy, jak je uvedeno níže.
$ ( cat body-message.txt; uuencode input-attachment.txt output-attachment.txt ) \ | mail -s "Email With Body Text and Attachment" [email protected]