DSN: SMTP Email için Teslim Durumu Bildirimi

DSN'nin SMTP e-postalarına teslimat durumunu nasıl sunmayı amaçladığını öğrenin.

Hiç Gönderdiğiniz Bir E-postaya Ne Oldu?

SMTP protokolüne kısa bir bakış bile, normal HELO'nun yanı sıra, Genişletilmiş SMTP sunucusunun yeteneklerini orijinal standardın ötesinde reklamını yapan EHLO'nun da olduğunu fark edeceksiniz. Bunlardan biri DSN. DSN? DNA ve DDT yeterli değil mi?

E-postanın güvenilmez olduğunu iddia etmek için, birinin " ... sunucularını daha iyi beslemesi, postalarımı yemesi ... " nadir değildir. Kendim yaparım. Ancak, bu şüpheleri desteklemek için çok fazla sebep yoktur.

Teslim S tatus N otifikasyonu RFC 821'den beri olmuştur (1982'den). SMTP protokolünün VERİ bölümü bittiğinde ve sunucu teslimat için e-postayı kabul ettiğinde, sorumludur. Herhangi bir nedenden dolayı, alıcıya teslim edemezse, orijinal göndericiye hatanın bildirimi ile geri göndermelidir. Bu bazı belirsiz e-posta ile sonuçlandı.

Bunun dışında, bu eski sözleşme, ya bir hata mesajınız olduğunu ya da hiç bir şey bilmediğiniz bir şeyiniz olmadığını ifade etti : e-posta gelmiş olabilir ya da olmayabilir. Birçok durumda hata mesajları, hiçbir hata mesajı kadar yardımcı oldu. E-postanın giderek daha önemli hale gelmesiyle artık tatmin edici değil (daha önce olduğu gibi).

DSTP DSTP Uzantıları

RFC 1891, daha güvenilir ve daha kullanışlı bir DSN sistemi ile sonuçlanması gereken SMTP protokolüne bazı uzantılar önermektedir. MAIL ve RCPT komutlarının bir uzantısıdır (eğer bu size bir şey ifade etmiyorsa, SMTP'nin nasıl çalıştığını okuyun ve buraya geri dönün.).

EHLO yok, eğlence yok

İlk olarak, sunucunun DSN'yi desteklediğinden emin olmalıyız. Böylece, ona EHLO demeliyiz ve dikkatlice dinlemeliyiz. Özellik listesinde DSN ile biraz yanıt verirse, isteklerimize sunulabileceğini varsayabiliriz. Değilse, o zaman: başka bir sunucuyu deneyebilir veya DSN olmadan e-postaya geri dönebiliriz. Örneğin (girişim mavi, sunucunun çıkışı siyah):

220 larose.magnet.at ESMTP Sendmail 8.8.6 / 8.8.6; Güneş, 24 Ağustos 1997 18:23:22 +0200
EHLO localhost
250-larose.magnet.at Merhaba localhost [127.0.0.1], tanıştığımıza memnun oldum
250 EXPN
250 FİİLİ
250-8BITMIME
250 ALAN
250 DSN
250 ONEX
250 ETRN
250 XUSR
250 YARDIM

Neyse ki, diğer şeylerin yanında DSN'yi buluruz.

DSN Gönderen Uzantıları

Bir sonraki komut genellikle MAIL FROM :. DSN ile, bu farklı değil. Ancak, ekleyebileceğiniz iki ek seçenek vardır: RET ve ENVID.

RET seçeneği isteğe bağlı olarak MAIL komutuna yerleştirildi, ancak burada başka herhangi bir yerde olduğu gibi burada da uyuyor. Amaç, teslim etme hatası durumunda orijinal mesajınızın ne kadarının iade edilmesi gerektiğini belirlemektir. Geçerli argümanlar FULL ve HDRS'dir. Birincisi, tam mesajın hata mesajına dahil edilmesi gerektiği anlamına gelir; HDRS, sunucunun yalnızca başarısız postanın üstbilgisini döndürmesi için talimat verir. RET belirtilmemişse, ne yapacağı sunucuya kalmış. Çoğu durumda HDRS varsayılan değer olacaktır.

ENVID, göndericiye gerçekten aittir, ya da (daha doğrusu) e-posta istemcisi, bu zarf kimliğini yapan tek kişi olacaktır. Amacı, verilmiş bir hata mesajını e-posta ile gönderen kişiye bildirmektir. Bu kimliğin formatı temel olarak gönderenin hayal gücüne bırakılmıştır. Bizim örneğimizde ENVID kullanmayacağız (hayal gücü!):

MAIL FROM: sender@example.com RET = HDRS
250 sender@example.com ... Gönderici tamam

Görünüşe göre, sadece başlıkları DSN’imize geri almak istiyoruz.

DSN Alıcı Uzantıları

RCPT TO: adil uzantılarını da alır: NOTIFY ve ORCPT.

BİLDİRİMİ, DSN'nin gerçek kalbidir. Sunucunun bir durum bildirimi gönderileceğini bildirir. İlk olası değer ASLAdır, yani hiçbir koşulda göndericiye bir DSN gönderilmemesi gerekir. Bu, DSN olmadan mümkün değildi. Ardından, e-postanızın varış noktasında geldiği zaman sizi uyaran BAŞARI vardır. FAILURE, SUCCESS'in karşılığıdır (!): Teslimat sırasında bir deformasyon meydana gelirse bir DSN gelecek. Son seçenek DELAY: Teslimatta olağandışı bir gecikme olması durumunda size bildirilecektir, ancak gerçek teslimatın sonucu (başarı veya başarısızlık) henüz kararlaştırılmamıştır. Belirtilen tek argüman ASLA olmalı , diğer üçü virgülle ayrılmış bir listede görünebilir. BAŞARISIZ ve ARIZA çok güçlü bir takım oluşturuyor (!), Size hemen hemen her durumda e-postanıza ne olduğunu anlatıyor.

ORCPT'in amacı, örneğin başka bir adrese iletilirse, bir e-posta mesajının orijinal alıcısını korumaktır. Bu seçeneğe ilişkin argüman, orijinal alıcının adres türüyle birlikte e-posta adresidir. Adres türü önce gelir, ardından noktalı virgül ve son olarak adres gelir. Örneğin:

RCPT TO: support@example.com NOTIFY = FAILURE, DELAY ORCPT = rfc822; support@example.com
250 support@example.com ... Alıcı tamam (sıraya girecek)

Bunu, bildiğimiz gibi DATA takip eder ve en nihayetinde, size başarıyı bildiren bir teslimat durumu bildirimi izler.

DSN Çalışıyor mu?

Tabii ki, tüm bu güzellik ve zeka sadece göndericiden alıcıya posta nakliyecileri DSN'yi destekliyorsa çalışacaktır. Bir gün yapacaklar.