Skip to main content

DSN: การแจ้งสถานะการส่งมอบสำหรับอีเมล SMTP

DSN (อาจ 2025)

DSN (อาจ 2025)
Anonim

แม้เพียงแค่ดูสั้น ๆ ที่โปรโตคอล SMTP จะแจ้งให้คุณทราบว่านอกจาก HELO ตามปกติแล้วยังมี EHLO ซึ่งจะทำให้ ขยาย เซิร์ฟเวอร์ SMTP โฆษณาความสามารถของตนนอกเหนือจากมาตรฐานเดิม หนึ่งในนั้นคือ DSN DSN? ดีเอ็นเอและดีดีทีไม่เพียงพอหรือไม่?

เพื่อยืนยันว่าอีเมลนั้นไม่น่าเชื่อถือใครควร " … ฟีดเซิร์ฟเวอร์ของตนดีกว่า; มันกินจดหมายของฉัน … "ไม่ใช่เรื่องแปลก แต่ก็ไม่มีเหตุผลอะไรที่จะสนับสนุนข้อสงสัยเหล่านี้

การจัดส่งสินค้า S tatus ยังไม่มีข้อความ otification ได้รับรอบตั้งแต่ RFC 821 (จาก 1982) ทันทีที่ส่วน DATA ของโปรโตคอล SMTP เสร็จสิ้นและเซิร์ฟเวอร์ยอมรับอีเมลสำหรับการจัดส่งแล้วจะเป็นผู้รับผิดชอบ ถ้าด้วยเหตุผลใดก็ตามที่ไม่สามารถส่งข้อมูลไปยังผู้รับได้จะต้องส่งข้อมูลกลับไปพร้อมกับแจ้งข้อผิดพลาดไปยังผู้ส่งต้นฉบับ ส่งผลให้มีอีเมลที่คลุมเครือ

นอกจากนี้การประชุมเก่านี้หมายความว่าคุณได้รับข้อความแสดงข้อผิดพลาดหรือคุณได้รับ ไม่มีอะไร ในกรณีที่คุณรู้ ไม่มีอะไร : อาจมีอีเมลมาถึงหรืออาจไม่ได้ ข้อความแสดงข้อผิดพลาดในหลาย ๆ กรณีมีประโยชน์เช่นเดียวกับไม่มีข้อความแสดงข้อผิดพลาด กับอีเมลมากขึ้นและสำคัญมากขึ้นนี้ไม่น่าพอใจ (เช่นถ้าก่อน)

ส่วนขยายของ DSN ไปยัง SMTP

RFC 1891 ขอเสนอส่วนขยายบางอย่างให้กับโปรโตคอล SMTP ซึ่งจะส่งผลให้มีระบบ DSN ที่น่าเชื่อถือและใช้งานได้มากขึ้น เป็นส่วนขยายของคำสั่ง MAIL และ RCPT

ไม่มี EHLO, No Fun

ขั้นแรกเราต้องตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์สนับสนุน DSN ดังนั้นเราต้องพูดกับ EHLO และฟังอย่างระมัดระวัง ถ้าตอบด้วย DSN ในรายการคุณลักษณะเราสามารถสรุปได้ว่าจะสามารถตอบสนองคำขอของเราได้ ถ้าไม่เช่นนั้นเราสามารถลองเซิร์ฟเวอร์อื่นหรือย้อนกลับไปที่อีเมลโดยไม่ใช้ DSN ได้ ตัวอย่างเช่น:

220 larose.magnet.at ESMTP Sendmail 8.8.6 / 8.8.6; อาทิตย์ 24 สิงหาคม 2540 18:23:22 +0200EHLO localhost250-larose.magnet.at สวัสดี localhost 127.0.0.1 ยินดีที่ได้รู้จักคุณ250 EXPN250 คำกริยา250-8BITMIME250 ขนาด250 DSN250 ONEX250 ETRN250 XUSR250 ช่วยเหลือ

โชคดีที่สิ่งอื่น ๆ ที่เราพบใน DSN

ส่วนขยาย DSN Sender

คำสั่งต่อไปมักเป็น MAIL FROM DSN ไม่แตกต่างกัน แต่มีสองตัวเลือกเพิ่มเติมที่คุณอาจได้รับ ได้แก่ RET และ ENVID

ตัวเลือก RET ถูกวางไว้โดยพลการในคำสั่ง MAIL แต่ก็เหมาะกับที่นี่เช่นเดียวกับที่อื่น วัตถุประสงค์คือเพื่อระบุจำนวนข้อความต้นฉบับที่คุณควรได้รับในกรณีที่เกิดความผิดพลาดในการจัดส่ง อาร์กิวเมนต์ที่ใช้ได้คือ FULL และ HDRS ก่อนหน้านี้หมายความว่าข้อความทั้งหมดควรอยู่ในข้อความแสดงข้อผิดพลาด HDRS สั่งให้เซิร์ฟเวอร์ส่งเฉพาะส่วนหัวของจดหมายที่ล้มเหลวเท่านั้น ถ้าไม่ได้ระบุ RET ขึ้นอยู่กับเซิร์ฟเวอร์จะทำอย่างไร ในกรณีส่วนใหญ่ HDRS จะเป็นค่าเริ่มต้น

ENVID เป็นของผู้ส่งจริงๆเนื่องจากเธอหรือ (ค่อนข้าง) ลูกค้าอีเมลของเธอจะเป็นคนเดียวที่ใช้ประโยชน์จากข้อมูลนี้ ตัวบ่งชี้ซองจดหมาย . จุดประสงค์ของมันคือการบอกผู้ส่งอีเมลล์ว่าข้อความแจ้งข้อผิดพลาดที่อาจจะเกิดขึ้นสอดคล้องกับ รูปแบบของรหัสนี้จะเหลืออยู่ในจินตนาการของผู้ส่ง เราจะไม่ใช้ ENVID ในตัวอย่างของเรา:

MAIL FROM: [email protected] RET = HDRS250 [email protected] … ผู้ส่งตกลง

เห็นได้ชัดว่าเราต้องการรับส่วนหัวใน DSN ของเราเท่านั้น

ส่วนขยายของผู้รับ DSN

RCPT TO: ได้รับส่วนแบ่งการยุติธรรมของส่วนขยายเช่นกัน: NOTIFY และ ORCPT

การแจ้งเตือนเป็นหัวใจที่แท้จริงของ DSN มันบอกเซิร์ฟเวอร์ เมื่อ เพื่อส่งการแจ้งเตือนสถานะการจัดส่ง ค่าแรกที่เป็นไปได้คือ NEVER ซึ่งหมายความว่าในกรณีใด ๆ DSN จะต้องส่งคืนให้กับผู้ส่ง นี่เป็นไปไม่ได้หากไม่มี DSN จากนั้นจะมี SUCCESS ซึ่งจะแจ้งให้คุณทราบเมื่อจดหมายของคุณถึงจุดหมายแล้ว ความล้มเหลวคือคู่ของ SUCCESS: DSN จะมาถึงหากมีข้อผิดพลาดเกิดขึ้นในระหว่างการจัดส่ง ตัวเลือกสุดท้ายคือ DELAY: คุณจะได้รับการแจ้งเตือนหากมีความล่าช้าในการจัดส่งโดยผิดปกติ แต่ยังไม่ได้ตัดสินถึงผลการส่งมอบจริง (ความสำเร็จหรือล้มเหลว) ไม่เคย ต้อง เป็นอาร์กิวเมนต์เฉพาะถ้าระบุสามตัวอื่นอาจปรากฏในรายการคั่นด้วยจุลภาค SUCCESS และ FAILURE สร้างทีมที่แข็งแกร่งขึ้นพร้อมกันโดยบอกคุณว่าจะเกิดอะไรขึ้นกับจดหมายของคุณ

วัตถุประสงค์ของ ORCPT คือการรักษา เป็นต้นฉบับ ผู้รับข้อความอีเมลตัวอย่างเช่นหากมีการส่งต่อไปยังที่อยู่อื่น อาร์กิวเมนต์นี้เป็นที่อยู่อีเมลของผู้รับเดิมพร้อมกับประเภทที่อยู่ ประเภทที่อยู่จะมาก่อนตามด้วยเครื่องหมายอัฒภาคและที่อยู่สุดท้าย ตัวอย่างเช่น:

RCPT TO: [email protected] NOTIFY = FAILURE, DELAY ORCPT = rfc822; [email protected]250 [email protected] … โอเครับ (จะรอ)

ตามด้วยข้อมูลตามที่เราทราบและในที่สุดก็หวังว่าจะมีการแจ้งสถานะการจัดส่งเพื่อแจ้งให้คุณทราบถึงความสำเร็จ

DSN ทำงานได้หรือไม่?

แน่นอนความงามทั้งหมดนี้และจะใช้ได้เฉพาะเมื่อตัวแทนการขนส่งทางไปรษณีย์จากผู้ส่งถึงผู้รับสนับสนุน DSN สักวันหนึ่งพวกเขาจะ