Warning: Memcache::addserver() expects parameter 2 to be long, string given in /usr/home/rpc/domains/rpc.one.pl/public_html/libraries/joomla/cache/storage/memcache.php on line 84 ssmtp czyli prosty przekaźnik poczty na openwrt - 8.09
 
 
ssmtp czyli prosty przekaźnik poczty na openwrt - 8.09 Drukuj Email
Wpisany przez rpc   
poniedziałek, 19 października 2009 20:32

ssmtp czyli prosty przekaźnik poczty na openwrt - 8.09

 

Wstęp

Mając do czynienia z oprogramowaniem zainstalowanym na routerze często mamy potrzebę (a w szczególności demony) wysyłania maili do administratora. Instalowanie i konfigurowanie pełnej wersji serwera SMTP na każdym routerze do tego typu zadań jest niepotrzebnym marnotrastwem miejsca i cykli procesora w routerze. Bardziej eleganckim rozwiązaniem jest zainstalowanie jednego (centralnego) serwera poczty SMTP oraz prostych przekaźników na urządzeniach z openwrt.  Z pomocą przychodzi maleńki program ssmtp doskonale naśladujący systemowego sendmaila.

 

Instalacja

opkg update

opkg install ssmtp

 

Po instalacji zostanie utworzony katalog /etc/ssmtp . Zawiera on następujące pliki konfiguracyjne:

revaliases

ssmtp.conf

 

Założenia

Chcemy aby poczta była wysyłana poprzez konto na gmail

server smtp        : smtp.gmail.com

port smtp           : 587

login name gmail  : nazwa_konta_gmail

password            : haslo_do_konta_gmail

mail gmail            : nazwa_konta_gmail@gmail.com

 

Konfiguracja

Konfigurujemy plik /etc/revaliases

root:nazwa_konta_gmail@gmail.com:smtp.gmail.com:587

czyli definiujemy tutaj że wszystkie maile kierowane przez root w systemie będą wysyłane do odbiorcy maila z przerobionym wierszem "Od:". Odbiorca będzie widział nadawcę jako nazwa_konta_gmail@gmail.com

Jeśli chcemy miec tak zdefiniowane dla innego usera musimy dokonać dodatkowego odpowiedniego wpisu w pliku  /etc/revaliases

 

Konfigurujemy plik /etc/ssmtp.conf

mailhub=smtp.gmail.com:587

rewriteDomain=

#Ma być właśnie UseSTARTTLS a nie inne dostępne opcje z TLS
UseSTARTTLS=YES

AuthUser=
nazwa_konta_gmail@gmail.com
AuthPass=haslo_do_konta_gmail

FromLineOverride=YES

 

Wsyłanie maila

Można skorzystać ze skryptu:

tworzymy plik i nadajemu uprawnienia do wykonywania np. wyslij_maila

touch wyslij_maila

chmod +x wyslij_maila

Zawartość pliku winna wyglądać następująco:

#!/bin/sh
( echo "Subject: Temat wiadomosci testowej";
echo "From: <
nazwa_konta_gmail@gmail.com>";
echo "To: <
adres_docelowy@wp.pl >";
echo "";
echo "Tu jest tresc wiadomosci";date) |
sendmail
adres_docelowy@wp.pl

 

Teraz uruchamiając ten skrypt wysyłamy maila na adres_docelowy@wp.pl

 

Lub

robimy sobie alias do ssmtp czyli

alias mail=ssmtp

 

i mozna wysłać maila np.

echo "Tresc maila" | mail adres_docelowy@wp.pl

 

Do analizy pracy ssmtp kłania się już znana komenda logread

 

Parametry ssmtp

MailHub=mail.yourdhdomain.com:465
UseTLS=YES                                             
UseSTARTTLS=YES    

FromLineOverride=YES                             
Hostname=yourdhdomain.com                
RewriteDomain=yourdhdomain.com        
root=postmaster                                          

AuthUser=user@yourdhdomain.com      
AuthPass=password                                     
UseTLSCert=YES                                         
TLSCert=/etc/ssmtp/ssmtp.pem
# nazwa serwera wysyłającego  SMTP i numer portu
#włącza wsparcie dla SSL/TLS - autentyfikacji clienta mail wobec serwera
# Jest wymagane przez niektóre serwery np. gmail gdzie jest to wymagane. Z tego co widze
użycie tej opcji automatycznie włącza opcję UseTLS.
# nadpisuje sekcje From na zdefiniowaną przez siebie
# nazwa hosta na którym zainstalowano ssmtp czyli np. routera
# odbiorca myśli iż mail pochodzi od przypisanej w tym wierszu domeny
# przypisuje ze co przjdzie do usera root jest kierowane do postmaster. Jeśli jest puste to
wyłączone jest przekierowanie
# nazwa użytkownika konta pocztowego
# hasło do konta pocztowego
# włącz wsparcie dla autoryzowania się certyfikatem wobec serwera SMTP
# Uzywaj tego certyfikatu RSA

 

Debug czyli błędy w konfiguracji

Zaglądamy do logów - logread

Uruchamiamy wysyłanie maila interaktywnie z komunikatami np.:

echo "test" | ssmtp -vvv -s "temat testowy" adres_docelowy@wp.pl



Podziel się tą informacja z innymi:
Poprawiony: wtorek, 26 stycznia 2010 14:20