Skip to content Prejsť na obsah


How to send email from the Linux command line Ako poslať e-mail z príkazového riadku Linux

E-mailLinux

The Linux command line can be very powerful once you know how to use it. Príkazového riadku Linux môže byť veľmi silná, keď viete, ako ju použiť. You can parse data, monitor processes, and do a lot of other useful and cool things using it. Môžete analyzovať dáta, sledovať procesy, a robiť veľa ďalších užitočných a zajímavěji používať. There often comes a need to generate a report and mail it out. Tam býva často potreba vytvoriť správu a pošlite ju. It could be as simple a requirement as a notification that the day's backup went through fine, or did not. Mohlo by to byť tak jednoduché ako požiadavku oznámenia, že denné zálohovanie prešiel v poriadku, alebo nie. I'll help you get started with sending mails from the Linux command line and in shell scripts. Pomôžem vám začať s odosielaním mailov z príkazového riadku v Linuxe a shell skriptov. We will also cover sending attachments from the command line. Budeme tiež na odosielanie príloh z príkazového riadku. We will begin with the “mail” command. Začneme s "mail" príkaz.

MAIL MAIL

First run a quick test to make sure the “sendmail” application is installed and working correctly. Prvý beh rýchly test, aby ste sa uistili "sendmail" aplikácie je nainštalovaný a pracuje správne. Execute the following command, replacing “you@youremailid.com” with your e-mail address. Spustite nasledujúci príkaz, ktorý nahrádza "you@youremailid.com" s e-mailovú adresu.

# mail -s “Hello world” you@youremailid.com # Mail-s "Hello world" you@youremailid.com

Hit the return key and you will come to a new line. Hit klávesu Enter a budete sa na nový riadok. Enter the text “This is a test from my server”. Zadajte text "Toto je test z môjho servera." Follow up the text by hitting the return key again. Nadväzovať na text a stlačiť kláves Enter znova. Then hit the key combination of Control+D to continue. Stlačiť kombináciu klávesov Ctrl + D na pokračovať. The command prompt will ask you if you want to mark a copy of the mail to any other address, hit Control+D again. V príkazovom riadku sa vás spýta, či chcete označiť kópiu mailu na inú adresu, stlačte Ctrl + D znova. Check your mailbox. Skontrolujte si poštovú schránku. This command will send out a mail to the email id mentioned with the subject, “Hello world”. Tento príkaz vyšle mail na e-mail s id uvedenej tému, "Hello world".

To add content to the body of the mail while running the command you can use the following options. Ak chcete pridať obsah do tela mailu pri spustení príkazu, môžete použiť nasledujúce možnosti. If you want to add text on your own: Ak chcete pridať text na svoje vlastné:

# echo “This will go into the body of the mail.” | mail -s “Hello world” you@youremailid.com # Echo "To pôjde do tela mailu." | Mail-s "Hello world" you@youremailid.com

And if you want mail to read the content from a file: A ak chcete poštu čítať obsah súboru:

# mail -s “Hello world” you@youremailid.com < /home/calvin/application.log # Mail-s "Hello world" you@youremailid.com </ home / calvin / application.log

Some other useful options in the mail command are: Niektoré ďalšie užitočné voľby v mailu príkazu sú:

-s subject (The subject of the mail) -s predmet (predmet mailu)
-c email-address (Mark a copy to this “email-address”, or CC) -c e-mailovú adresu (Mark kópiu tohto "e-mailovú adresu", alebo CC)
-b email-address (Mark a blind carbon copy to this “email-address”, or BCC) -b e-mailovú adresu (Mark Slepákopie tohto "e-mailovú adresu", alebo BCC)

Here's how you might use these options: Tu je návod, ako môžete použiť nasledujúce možnosti:

# echo “Welcome to the world of Calvin n Hobbes” | mail -s “Hello world” calvin@cnh.com -c hobbes@cnh.com -b susie.derkins@cnh.com # Echo "Vitajte vo svete n Hobbes Calvin" | mail-s "Hello world" calvin@cnh.com-c-b hobbes@cnh.com susie.derkins @ cnh.com

MUTT MUTTI

One of major drawbacks of using the mail command is that it does not support the sending of attachments. Jedným z hlavných nevýhod pomocou mailu príkazu je, že nepodporuje odosielanie príloh. mutt, on the other hand, does support it. mutt, na druhú stranu, to podporujú. I've found this feature particularly useful for scripts that generate non-textual reports or backups which are relatively small in size which I'd like to backup elsewhere. Našiel som túto funkciu najmä užitočné pre skripty, ktoré generujú mimo-textové správy alebo zálohy, ktoré sú relatívne malé rozmery, ktoré som chcel zálohovať inde. Of course, mutt allows you to do a lot more than just send attachments. Samozrejme, mutt umožňuje urobiť oveľa viac ako len odosielať prílohy. It is a much more complete command line mail client than the “mail” command. To je oveľa viac kompletný príkazový riadok mailového klienta, ako "mail" príkaz. Right now we'll just explore the basic stuff we might need often. Práve teraz budeme hľadať len základné veci by sme mohli potrebovať často. Here's how you would attach a file to a mail: Tu je návod, ako sa pripojiť súbor mail:

# echo “Sending an attachment.” | mutt -a backup.zip -s “attachment” calvin@cnh.com # Echo "Odosielanie príloh." | Mutt-backup.zip-s "attachment" calvin@cnh.com

This command will send a mail to calvin@cnh.com with the subject (-s) “attachment”, the body text “Sending an attachment.”, containing the attachment (-a) backup.zip. Tento príkaz pošle mail s predmetom calvin@cnh.com (-y): "attachment" textu "Odosielanie príloh." Obsahuje prílohu (-a) backup.zip. Like with the mail command you can use the “-c” option to mark a copy to another mail id. Podobne ako s poštou, môžete použiť príkaz "-c" možnosť označiť kopírovať na inú poštu id.

SENDING MAIL FROM A SHELL SCRIPT Zasielanie e-mailu Z skript

Now, with the basics covered you can send mails from your shell scripts. Teraz, sa základy ktoré môžete posielať maily z shell skriptov. Here's a simple shell script that gives you a reading of the usage of space on your partitions and mails the data to you. Tu je jednoduchý skript, ktorý vám čítanie využitie priestoru na diskové oddiely a posiela dáta na vás.

#!/bin/bash #! / Bin / bash
df -h | mail -s “disk space report” calvin@cnh.com df-h | mail-s "disku správa" calvin@cnh.com

Save these lines in a file on your Linux server and run it. Uložiť tieto riadky v súbore na serveri Linux a spustite ho. You should receive a mail containing the results of the command. Mali by ste dostať správu obsahujúcu výsledky príkazu. If, however, you need to send more data than just this you will need to write the data to a text file and enter it into the mail body while composing the mail. Ak sa však musíte poslať viac dát, ako len to budete musieť zapisovať dáta do textového súboru a vložte ho do tela pri komponovaní mailovú poštu. Here's and example of a shell script that gets the disk usage as well as the memory usage, writes the data into a temporary file, and then enters it all into the body of the mail being sent out: Tu je príklad a skript, ktorý sa využitia disku a pamäte, zapíše údaje do dočasného súboru a potom to všetko vstupuje do tela mailu je rozposlané:

#!/bin/bash #! / Bin / bash
df -h > /tmp/mail_report.log df-h> / tmp / mail_report.log
free -m >> /tmp/mail_report.log free-m>> / tmp / mail_report.log
mail -s “disk and RAM report” calvin@cnh.com < /tmp/mail_report.log mail-s "disk a RAM správa" calvin@cnh.com </ tmp / mail_report.log

Now here's a more complicated problem. A teraz to zložitejší problém. You have to take a backup of a few files and mail then out. Musíte vziať zálohu niekoľko súborov a pošty potom von. First the directory to be mailed out is archived. Prvý zoznam bude zaslaný do von je archivovaný. Then it is sent as an email attachment using mutt. Potom ich poslal ako prílohu e-mailu pomocou mutt. Here's a script to do just that: Tu je skript, ktorý práve tohle:

#!/bin/bash #! / Bin / bash
tar -zcf /tmp/backup.tar.gz /home/calvin/files tar-zcf / tmp / backup.tar.gz / home / calvin / files
echo | mutt -a /tmp/backup.tar.gz -s “daily backup of data” calvin@cnh.com echo | mutt-/ tmp / backup.tar.gz-s "denné zálohovanie dát" calvin@cnh.com

The echo at the start of the last line adds a blank into the body of the mail being set out. Echo na začiatku posledného riadku pridá prázdne do tela mailu sú uvedené.

This should get you started with sending mails form the Linux command line and from shell scripts. To by sa vám začala s odosielaním pošty formulára príkazového riadka Linuxu a zo shell skriptov. Read up the “man page” for both mail and mutt for more options. Prečítajte si hore "man page" pre poštu a mutt pre viac možností.

Posted in Publikované v Email E-mail , , Guest Blogger Guest Blogger , , Linux Linux . .

Related Posts: Súvisiace zmeny:

How to post to Twitter from the Linux command line Ako písať na Twitter z príkazového riadka Linuxu
How to enable the root user account in Ubuntu Linux Ako povoliť konto užívateľa root v Ubuntu Linux
Some useful Linux bash tricks Niektoré užitočné triky Linux bash
How to find your public IP address with the Linux command line Ako nájsť svoju verejnú IP adresu s príkazového riadka Linuxu
How to set up Evolution for email Ako nastaviť Evolution pre e-mail

10 Responses 10 Odpovede

Stay in touch with the conversation, subscribe to the Zostať v kontakte s konverzácia, prihláste sa RSS feed for comments on this post RSS kanál pre komentáre k tomuto príspevku . .

  1. Michal Michal says hovorí

    You may want to have a look at Možno budete chcieť pozrieť na smtp-client.pl smtp-client.pl . . Check out the usage examples. Pozrite sa na príklady použitia. I'd say it's the ultimate command line smtp client, but I'ma little biased Povedal by som, že je to konečný príkazového riadka smtp klient, ale som trochu zaujatý ;-)

  2. Matt says Matt hovorí

    echo | mutt -a -s /tmp/backup.tar.gz “daily backup of data” echo | mutt-a-s / tmp / backup.tar.gz "denné zálohovanie dát" calvin@cnh.com calvin@cnh.com

    should be: by mala byť:

    echo | mutt -a /tmp/backup.tar.gz -s “daily backup of data” echo | mutt-a / tmp / backup.tar.gz-s "denné zálohovanie dát" calvin@cnh.com calvin@cnh.com

  3. Ross McKillop Ross McKillop says hovorí

    Matt - Matt --

    Thanks very much for catching that! Díky moc, že na lov! I've made the correction. I've made opravu. Cheers! Na zdravie!

  4. Jens Arnfelt says Jens Arnfelt hovorí

    Hi Nazdar

    You can actually send binary attachment via “mail” the following way : Môžete totiž poslať binárne pripojenie cez "mail" nasledujúcim spôsobom:

    uuencode /etc/hosts /etc/hosts | mail -s “mail with binary attachment” UUEncode / etc / hosts / etc / hosts | mail-s "mail s binárnu prílohu" me@mydomain.org me@mydomain.org

    BR BR
    Jens Arnfelt Jens Arnfelt

  5. joviano says joviano hovorí

    Basically have a test script, whose output comes by mail to me with the use of the command taken from this article: V podstate majú testovací skript, ktorého výstupom príde poštou ku mne s použitím príkazu prevzaté z tohto článku:

    echo `my test script` | mail -s “Test Result” echo "môj testovací skript` | mail-s "Výsledok testu" my_mail@mail.com my_mail@mail.com

    the problem here is that when i do this.. Problém je, že keď som to .. it works correctly on the mailing front, however the mail that i then get ignores the line breaks in the output of the scripts. to funguje správne na konferencii vpredu, ale aj poštu, ktorá potom dostanete ignoruje konca riadkov vo výstupe skriptov. I really need the line breaks for readability of the output results.. Naozaj potrebujem konca riadkov pre čitateľnosť výstupu výsledkov ..

    any pointers on how i could achieve this ?? žiadne odkazy na to, ako som mohol dosiahnuť? .. .. would really like some help here chcete naozaj pomoct

  6. martin says martin hovorí:

    I'm looking for a program that will run from a script and will send mail via gmail smtp server. Hľadám program, ktorý bude prebiehať od skrípt a pošle mail cez gmail smtp server. Any ideas? Any ideas?

  7. Michal Michal says hovorí

    martin: have a look at martin: pozrite sa na smtp-client.pl smtp-client.pl – it is designed to run from a script or a cron job and send email through a specified server. - Je určený pre spustenie skriptu alebo z cronu a posielanie elektronickej pošty prostredníctvom určeného servera. For example: Napríklad:

    smtp-client.pl --server smtp.gmail.com --from someone@gmail.com --to some@body.else --subject Blah --attach /path/to/a/picture.png smtp-client.pl --server smtp.gmail.com --from someone@gmail.com --to some@body.else --subject Blah --attach /path/to/a/picture.png smtp-client.pl --server smtp.gmail.com --from someone@gmail.com --to some@body.else --subject Blah --attach /path/to/a/picture.png smtp-client.pl --server smtp.gmail.com --from someone@gmail.com --to some@body.else --subject Blah --attach /path/to/a/picture.png smtp-client.pl --server smtp.gmail.com --from someone@gmail.com --to some@body.else --subject Blah --attach /path/to/a/picture.png

    It can also authenticate with a Gmail username and password among other things. To môže tiež overiť s Gmail užívateľské meno a heslo, okrem iného.

  8. martin says martin hovorí:

    Thanks Michal. Vďaka Michal. I'll check that out. Pozriem sa na výstup.

  9. Sujith John says Sujith John hovorí

    An excellent tutorial !! Výborný tutorial! Thanks Much Thanks Much

Continuing the Discussion Pokračovanie Diskusia

  1. How to quickly add Contacts to your Address Book from Mail | TuxWire : The Linux Blog Ako rýchlo pridať kontakty do adresára z Mail | TuxWire: Linux Blog linked to this post on September 22, 2009 súvisiacich s touto poštou dňa 22.září 2009

    [...] How to send email from the Linux command line [...] [...] Ako poslať e-mail z príkazového riadku Linux [...]



Some HTML is OK Niektoré HTML je v poriadku

or, reply to this post via alebo odpovede na tento príspevok prostredníctvom trackback Trackback . .