Nawet po krótkim spojrzeniu na protokół SMTP zauważysz, że oprócz zwykłego HELO, istnieje również EHLO, który sprawia, że Rozszerzony Serwer SMTP reklamuje swoje możliwości poza oryginalnym standardem. Jednym z nich jest DSN. DSN? Czy DNA i DDT to za mało?
Aby argumentować, że e-mail nie jest wiarygodny, ktoś powinien " … lepiej karm ich serwer; zjadł moją pocztę … "nie jest niczym niezwykłym, ale nie ma wielu powodów, aby podtrzymywać te podejrzenia.
Dostawa S tatus N otification już od RFC 821 (od 1982). Gdy tylko część DATA protokołu SMTP zostanie zakończona, a serwer zaakceptuje adres e-mail do dostarczenia, odpowiada za to. Jeśli z jakiegokolwiek powodu nie może przekazać go odbiorcy, musi odesłać go wraz z powiadomieniem o błędzie do pierwotnego nadawcy. Spowodowało to pojawienie się niejasnych wiadomości e-mail.
Poza tym, ta stara konwencja oznaczała, że albo dostałeś komunikat o błędzie, albo dostałeś nic w takim przypadku wiedziałeś nic : e-mail mógł przybyć, ale może nie. Komunikaty o błędach w wielu przypadkach były tak samo pomocne, jak brak komunikatów o błędach. Ponieważ e-mail staje się coraz ważniejszy, nie jest to już zadowalające (jak gdyby było wcześniej).
Rozszerzenia DSN do SMTP
RFC 1891 proponuje pewne rozszerzenia protokołu SMTP, które powinny skutkować bardziej niezawodnym i bardziej użytecznym systemem DSN. Jest to zestaw rozszerzeń poleceń MAIL i RCPT.
Brak EHLO, bez zabawy
Najpierw musimy upewnić się, że serwer obsługuje DSN. Dlatego musimy mu przekazać EHLO i uważnie słuchać. Jeśli zareaguje DSN gdzieś na liście funkcji, możemy założyć, że będzie on w stanie obsłużyć nasze żądania. Jeśli nie, to nie: możemy wypróbować inny serwer lub po prostu wrócić do e-maila bez DSN. Na przykład:
220 larose.magnet.at ESMTP Sendmail 8.8.6 / 8.8.6; Niedz, 24 sierpnia 1997 18:23:22 +0200EHLO localhost250-larose.magnet.at Witaj localhost 127.0.0.1, miło mi cię poznać250-EXPN250-VERB250-8BITMIME250-ROZMIAR250-DSN250 ONEX250-ETRN250-XUSR250 POMOC Na szczęście znajdziemy między innymi DSN. Następną komendą jest zazwyczaj MAIL FROM. W przypadku DSN nie jest to inaczej. Istnieją jednak dwie dodatkowe opcje, które możesz wydać: RET i ENVID. Opcja RET została raczej umieszczona arbitralnie w poleceniu MAIL, ale pasuje tutaj tak dobrze, jak wszędzie indziej. Celem jest określenie, jaka część oryginalnej wiadomości powinna zostać zwrócona w przypadku niepowodzenia dostawy. Poprawne argumenty to FULL i HDRS. Ta pierwsza oznacza, że komunikat powinien zostać dołączony do komunikatu o błędzie, HDRS instruuje serwer, aby zwracał tylko nagłówki nieudanej poczty. Jeśli RET nie jest określony, od serwera zależy, co należy zrobić. W większości przypadków wartością domyślną będzie HDRS. ENVID naprawdę należy do nadawcy, ponieważ ona lub (raczej) jej klient pocztowy będzie jedynym, który korzysta z tego identyfikator koperty . Jego celem jest poinformowanie nadawcy, do której wiadomości e-mail odpowiada prawdopodobnie wysłany komunikat o błędzie. Format tego identyfikatora jest w zasadzie pozostawiony wyobraźni nadawcy. Nie użyjemy ENVID w naszym przykładzie: MAIL FROM: [email protected] RET = HDRS250 [email protected] … Nadawca OK Najwyraźniej chcemy tylko przywrócić nagłówki w naszym DSN. RCPT TO: otrzymuje również sprawiedliwy udział w rozszerzeniach: NOTIFY i ORCPT. NOTIFY jest prawdziwym sercem DSN. Mówi serwerowi gdy wysłać powiadomienie o stanie dostarczenia. Pierwszą możliwą wartością jest NIGDY, co oznacza, że pod żadnym warunkiem DSN nie musi być zwracana do nadawcy. Nie było to możliwe bez DSN. Następnie jest SUCCESS, który powiadomi Cię, gdy twoja poczta dotrze do miejsca przeznaczenia. FAILURE jest odpowiednikiem SUCCESS: DSN pojawi się, jeśli wystąpi błąd podczas dostawy. Ostatnia opcja to OPÓŹNIENIE: otrzymasz powiadomienie o nietypowym opóźnieniu dostawy, ale faktyczny wynik dostawy (sukces lub porażka) nie jest jeszcze rozstrzygnięty. NIGDY musi być jedynym argumentem, jeśli to określono, pozostałe trzy mogą pojawić się na liście, rozdzielonej przecinkiem. SUCCESS i FAILURE tworzą razem dość silną drużynę, opowiadając (prawie) o każdym przypadku, co stało się z twoją pocztą. Celem ORCPT jest zachowanie oryginalny adresata wiadomości e-mail, na przykład, jeśli zostanie przekazany na inny adres. Argumentem tej opcji jest adres e-mail pierwotnego odbiorcy wraz z rodzajem adresu. Typ adresu pojawia się najpierw, a następnie średnik i na końcu adres. Na przykład: RCPT TO: [email protected] NOTIFY = AWARIA, OPÓŹNIENIE ORCPT = rfc822; [email protected]250 [email protected] … Recipient ok (będzie w kolejce) Następnie mamy DANE, które znamy, i, w końcu, mam nadzieję, powiadomienie o stanie dostawy, informujące o sukcesie. Oczywiście, całe to piękno i będzie działać tylko wtedy, gdy pracownicy transportu pocztowego od nadawcy do odbiorcy obsługują DSN. Któregoś dnia to zrobią. Rozszerzenia nadawców DSN
Rozszerzenia adresatów DSN
Czy DSN działa?