e-mail wysłany z konsoli Linux

Nasz standardowy serwer pełniący jakąś rolę w sieci wewnętrznej (samba, lokalny www, baza danych itp.), stojący za firmowym firewallem zwykle jest niemową - nie potrafi wysyłać e-maili. Przez co nie będzie potrafił opowiedzieć administratorowi o swoich bolączkach ;)

Można zmienić to w kilku prostych krokach i nauczyć wysyłać go wiadomości przez zewnętrzny serwer usługodawcy (bez konieczności konfigurowania, utrzymywania i konserwowania lokalnego serwera SMTP).

UWAGA !!! obecnie, serwery chyba wszystkich usługodawców, wymagają uwierzytelniania do przesyłania wiadomości protokołem SMTP, u części z nich można wpisać wybrane adresy na białą listę (oczywiście jeśli dysponujemy stałym IP lub wychodzimy z jakiejś konkretnej domeny), bez tego pozostaje nam bardziej przyłożyć się do instalacji postfixa ale to już inny temat ...

Podsumowując: zakładam, że mamy stały adres IP (lub domenę) i konto mailowe u zewnętrznego usługodawcy (np. home.pl, nazwa.pl itp.) oraz wpis na białej liście tego konta umożliwiający przesyłanie poczty bez uwierzytelniania.

Konfigurujemy serwer do wysyłki poczty (na przykładnie Debiana):

instalacja niezbędnego softu:

apt-get install postfix mailx mutt

podczas instalacji na pytanie: "General type of mail configuration?"
odpowiadamy: satellite system

a w polu "SMTP relay host?"
podajemy: adres serwera SMTP usługodawcy (np. nasza_domena.home.pl)

To wszystko ;) od tej pory nasz serwer może wysyłać maile.

Pozostaje jeszcze kwestia jak wysłać maila z konsoli systemu Linux lub za pomocą skryptów cron'a - użyjmy polecenia (jena linia):

cat /root/info/info.txt | mutt -s "Stan SERWERA z dnia "`date -I` -a /root/info/info.txt admin@mail.pl admin2@inny.mail.pl

w powyższym poleceniu:

1) cat /root/info/info.txt - wynik stanie się treścią maila
2) -s "Stan SERWERA z dnia "`date -I` - to temat maila
3) -a /root/info/info.txt - załączniki
4) admin@mail.pl admin2@inny.mail.pl - adresy na jakie zostanie wysłana wiadomość

ostatni szczegół to "opis" przychodzącej wiadomości:

w /etc/mailname znajdziemy domenę maila przychodzącego, który będzie mieć postać user@naszcerwer.local np. root@naszserwer.local

zawartość pola "Od kogo" prezentowanego w programie pocztowym możemy zmienić w pliku /etc/passwd np:

root:x:0:0:Podpis:/root:/bin/bash

 



data utworzenia: 21-01-2010
data ostatniej modyfikacji: 08-06-2010