09. [10p] Trimitere e-mail din linia de comandă

Pentru activități de automatizare (transmiterea de notificări și anunțuri) este util să putem transmite e-mail-uri din linia de comandă în mod neinteractiv. Trimiterea din linia de comandă presupune scrierea a trei componente așa cum se întâmplă și într-un client de e-mail:

  • destinatarul
  • subiectul mesajului
  • conținutul mesajului

Pentru transmiterea unui mesaj în linia de comandă folosim comanda mail. Pentru a transmite un mesaj de la utilizatorul bogdan către utilizatorul corina (ambii pe stația host), ne autentificăm ca utilizatorul bogdan:

root@host:~# su - bogdan
bogdan@host:~$

și folosim comanda (apăsați ENTER acolo unde vă cere Cc; nu vrem să introducem adresă de tipul Carbon Copy)

bogdan@host:~$ mail -s "Invitatie la film" corina
Cc: 
Buna, Corina!
 
Vii la filmul "Teambuilding"?
 
Bogdan
^D

Mesajul de mai sus a fost închis folosind combinația de taste Ctrl+d, însemnând End of File (EOF).

Pentru a verifica faptul că mesajul e transmis, ne autentificăm ca utilizatorul corina și rulăm comanda

corina@host:~$ mail
"/var/mail/corina": 1 message 1 new
>N   1 bogdan@host        Tue Nov 26 21:07  17/419   Invitatie la film
? 1
[...]
Subject: Invitatie la film
To: <corina@host>
[...]
From: bogdan@host
 
Buna, Corina!
 
Vii la filmul "Teambuilding"?
 
Bogdan
? q
Saved 1 message in /home/corina/mbox
Held 0 messages in /var/mail/corina

Comanda mail, fără argumente citește căsuța poștală implicită a utilizatorului (din /var/mail/<username>). Promptul comenzii este ? și permite introducerea de comenzii. Mai sus am folosit comanda 1 pentru a citi primul mesaj și apoi comanda q pentru a părăsi utilitarul. În conținutul mesajului apare și destinatarul (câmpul To) și subiectul mesajului (câmpul Subject).

Mesajul nu este obligatoriu să fie scris la intrarea standard ci poate fi redirectat dintr-un fișier sau o altă comandă. Un mesaj simplu poate fi trimis și folosind comanda:

bogdan@host:~$ echo 'Hello, Corina' | mail -s "Salutari" corina

Verificăm mesajul folosind comanda mail în contul utilizatorului corina:

corina@host:~$ mail
"/var/mail/corina": 1 message 1 new
>N   1 bogdan@host        Tue Nov 26 21:13  13/371   Salutari
? 1
[...]
Subject: Salutari
To: <corina@host>
[...]
From: bogdan@host
 
Hello, Corina
? q
Saved 1 message in /home/corina/mbox
Held 0 messages in /var/mail/corina

Trimiteți un mesaj simplu din contul utilizatorului bogdan către o adresă a voastră de e-mail (de preferat Yahoo). Verificați șî în Spam/Junk primirea mesajului. Dacă nu îl regăsiți, este posibil ca provider-ul de mail să filtreze mail-urile pe baza unor euristici.

Puteți folosi un serviciu precum Temp Mail pentru obținerea unei adrese de mail temporare pe care puteți testa trimiterea de mail-uri în cadrul laboratorului.

rl/labs/09/contents/09.txt · Last modified: 2023/12/13 11:27 by vlad_iulius.nastase
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0