sendmail + ssmtp + Google Apps


Odkąd pamiętam, używając jakiejkolwiek dystrybucji Linuksa denerwowało mnie „niedostarczanie” wiadomości przez /usr/sbin/sendmail. Wszystko lądowało w pliku ~/dead.letter . Nie chciałem uruchamiać lokalnego serwera SMTP z prawdziwego zdarzenia, gdyż dla jednej osoby pracującej przy komputerze jest to przerost formy nad treścią.

Przeglądając portage znalazłem ciekawą paczkę:

mail-mta/ssmtp
     Available versions:  2.61-r2 [M]~2.61-r30 [M]~2.61-r31
     Homepage:           
     Description:         Extremely simple MTA to get mail off the system to a Mailhub

Czyli krótko mówiąc, jest to agent który wysyła wszelką pocztę przez zewnętrzny serwer SMTP. Było to proste rozwiązanie, które gotów byłem zaakceptować. Jako okno na świat wykorzystałem serwery Google.

Na początek należy zemergować niezbędne pakiety. ssmtp proponuję skompilować ze wsparciem SSL i IPv6 – myśląc długofalowo ;-).
Mamy trzy możliwości do wyboru:

  • dodać do pliku /etc/make.conf deklarację:
    USE="ssl ipv6"
  • dopisać te flagi do /etc/portage/package.use, czyli:
    # echo "mail-mta/ssmtp ssl ipv6" >> /etc/portage/package.use
  • zadeklarować je przed samym uruchomieniem emerge:
    # USE="ssl ipv6" emerge -va mail-mta/ssmtp

Proces kompilacji jest krótki. Przystąpmy więc do konfiguracji. Wszystko znajdziemy w jednym pliku – /etc/ssmtp/ssmtp.conf.

mailhub=smtp.gmail.com:587
hostname=gierwialo.com
root=xxx@gierwialo.com
AuthUser=xxx@gierwialo.com
AuthPass=yyy
UseSTARTTLS=Yes
UseTLS=Yes

Chyba nie ma potrzeby tłumaczenia poszczególnych linijek. Należy tylko podkreślić, że w przypadku używania serwerów Google, ważne jest podanie prawidłowego portu (:587), oraz ustawienia dwóch opcji: UseSTARTTLS=Yes i UseTLS=Yes bez których nie nawiążemy poprawnie połaczenia.

Całość można przetestować programem /bin/mail z opcją -v dzięki temu szczegółowe informacje dotyczące wysyłki, będą wyświetlane na konsoli.

Przykład:

# /bin/mail -v xxx@epecet.com
Subject: testowy mail
treść
/ Ctrl + D /
Cc: 
[<-] 220 mx.google.com ESMTP y6sm38445963mug
[->] EHLO gierwialo.com
[<-] 250 ENHANCEDSTATUSCODES
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO gierwialo.com
[<-] 250 ENHANCEDSTATUSCODES
[->] AUTH LOGIN cG9tb2NuaWtAZ2llcndpYWxvLmNvbQ==
[<-] 334 UGFzc3dvcmQ6
[->] NVI5OTQx
[<-] 235 2.7.0 Accepted
[->] MAIL FROM:<root@gierwialo.com>
[<-] 250 2.1.0 OK
[->] RCPT TO:<xxx@epecet.com>
[<-] 250 2.1.5 OK
[->] DATA
[<-] 354 Go ahead
[->] Received: by gierwialo.com (sSMTP sendmail emulation);
[->] From: "root" <root@gierwialo.com>
[->] Date: Sat, 30 Jun 2007 15:26:04 +0200
[->] To: xxx@epecet.com
[->] Subject: testowy mail
[->] 
[->] treść
[->] .
[<-] 250 2.0.0 OK 1183209960 y6sm38445963mug
[->] QUIT
[<-] 

Tak wygląda prawidłowy przebieg komunikacji z serwerem ;-) Jeżeli coś się nie uda, nasz email trafi do ~/dead.letter.

Jak wszystko działa, możemy wypić herbatkę ;-)

Wysłany: 30 czerwca 2007 o 15:37:33 | 3 komentarze | więcej

Linux From Scratch


Dotarła do mnie drukowana wersja ebooka Linux From Scratch 6.2, 276 stron czystego tekstu (z formatowaniem). Szczerze mówiąc, nie sądziłem że będzie to tak „okazale” wyglądało ;-)


Wydrukowany Linux From Scratch


P.S Bindowanie wykonałem we własnym zakresie, wydruk zleciłem via Allegro (namiary mogę dać na priv). Polecam takie rozwiązanie :-)

Wysłany: 20 czerwca 2007 o 12:25:06 | 0 komentarzy | więcej

Jabber jest kapryśny


Myślałem że wszystko działa już dobrze, ale nie…


Cały czas mam problemy z prawdłowym działaniem serwera Jabber Google’a pod swoją domeną.

Administrator dodał wpisy SRV do gierwialo.com o takiej treści:

xmpp-server._tcp.gierwialo.com. IN SRV 5 0 5269 xmpp-server.l.google.com.
_xmpp-server._tcp.gierwialo.com. IN SRV 20 0 5269 xmpp-server1.l.google.com. 
_xmpp-server._tcp.gierwialo.com. IN SRV 20 0 5269 xmpp-server2.l.google.com. 
_xmpp-server._tcp.gierwialo.com. IN SRV 20 0 5269 xmpp-server3.l.google.com. 
_xmpp-server._tcp.gierwialo.com. IN SRV 20 0 5269 xmpp-server4.l.google.com. 
_jabber._tcp.gierwialo.com. IN SRV 5 0 5269 xmpp-server.l.google.com. 
_jabber._tcp.gierwialo.com. IN SRV 20 0 5269 xmpp-server1.l.google.com. 
_jabber._tcp.gierwialo.com. IN SRV 20 0 5269 xmpp-server2.l.google.com. 
_jabber._tcp.gierwialo.com. IN SRV 20 0 5269 xmpp-server3.l.google.com.
_jabber._tcp.gierwialo.com. IN SRV 20 0 5269 xmpp-server4.l.google.com.



Wszystko chodziło dobrze przez jakieś 6h. Potem przestało działać. Pidgin zwracał mi już 503 500 404 i 400. Pytanie – gdzie jest bład? U mnie? Pewnie tak. Póki co nie wiem jak go namierzyć...

edit 15:24 : Okazało się że ktoś wykasował moje rekordy SRV. Aby to sprawdzić należy pod kosolą wywołać:

# host -t SRV xmpp-server._tcp.gierwialo.com

W odpowiedzi powinniśmy otrzymać mniej więcej taki komunikat:

xmpp-server._tcp.gierwialo.com has SRV record 5 0 5269 xmpp-server.l.google.com.

Naturalnie host zwracał mi:

Host xmpp-server._tcp.gierwialo.com not found: 3(NXDOMAIN)

Zobaczymy, czy już wszystkie problemy zażegnane. Oby :-)

Wysłany: 09 czerwca 2007 o 13:14:56 | 0 komentarzy | więcej

Wracam...


Tak to już bywa że czasem człowiek odczuwa potrzebę dokonania zmian. W związku z tym, że udało mi się w pełni uruchomić obsługę Jabber'a pod swoją domeną (tzn. wkońcu dokonałem odpowiednich wpisów SRV w DNS) mogłem uruchomić swojego jogger'a pod własnym jid'em.

O czym tutaj będę pisał? O internecie, o programowaniu, o sobie - o tym wszystkim z czym mam styczność od paru lat. O ile na brak tematów narzekać nie mogę, o tyle ich dobre opracowanie i publikacja wymagają... czasu. Mam nadzieję że nie będzie mi go brakowało.

Wysłany: 07 czerwca 2007 o 16:34:55 | 0 komentarzy | więcej