Sender, From และ Return-Path ต่างกันอย่างไร


140

ค่า Email Sender, From และ Return-Path ต่างกันอย่างไร

ตัวอย่าง : ฉันมีแบบฟอร์มการติดต่อที่ผู้ใช้สามารถป้อนอีเมลได้จะกำหนดให้กับผู้ส่งจากหรือเส้นทางการส่งคืนหรือไม่

ฉันค้นหาอย่างรวดเร็วใน StackOverflow และไม่พบสิ่งที่เป็นประโยชน์

คำตอบ:


177

ดังนั้นบน SMTP เมื่อส่งข้อความซองจดหมาย SMTP (ผู้ส่งผู้รับ ฯลฯ ) จึงแตกต่างจากข้อมูลจริงของข้อความ

Senderส่วนหัวจะใช้เพื่อระบุในข้อความที่ส่งมัน โดยปกติจะเหมือนกับFromส่วนหัวซึ่งเป็นข้อความจากใคร อย่างไรก็ตามอาจแตกต่างกันในบางกรณีที่ตัวแทนอีเมลส่งข้อความในนามของบุคคลอื่น

Return-Pathส่วนหัวถูกนำมาใช้เพื่อแสดงให้ผู้รับ (หรือรับเอ็มที) ซึ่งใบเสร็จรับเงินไม่ได้จัดส่งจะถูกส่ง

ตัวอย่างเช่นใช้เซิร์ฟเวอร์ที่อนุญาตให้ผู้ใช้ส่งอีเมลจากหน้าเว็บ ดังนั้นsender@yourcompany.comพิมพ์ข้อความและส่งมัน เซิร์ฟเวอร์แล้วส่งข้อความไปยังผู้รับที่มีการกำหนดให้From sender@yourcompany.comการยื่น SMTP mailagent@mywebmail.comจริงใช้ข้อมูลประจำตัวที่แตกต่างกันบางอย่างเช่น ดังนั้นจึงsenderตั้งค่าส่วนหัวเป็นmailagent@mywebmail.comเพื่อระบุว่าFromส่วนหัวไม่ได้ระบุว่าใครเป็นผู้ส่งข้อความจริง

ในกรณีนี้หากไม่สามารถส่งข้อความได้อาจเป็นการดีกว่าที่ตัวแทนจะได้รับรายงานการไม่ส่งมอบและReturn-Pathจะตั้งค่าเป็นmailagent@mywebmail.comเช่นนั้นเพื่อให้รายงานการส่งใด ๆ ไปที่ข้อความนั้นแทนที่จะเป็นผู้ส่ง

หากคุณกำลังทำแบบนั้นการส่งแบบฟอร์มเพื่อส่งอีเมลนี่อาจเป็นคู่ขนานโดยตรงกับวิธีที่คุณตั้งค่าส่วนหัว


1
เช่นกันคุณไม่จำเป็นต้องตั้งค่าทุกอย่าง กล่าวคือหากคุณละทิ้งเส้นทางผู้ส่งและผู้ส่งกลับพวกเขาจะไปที่ที่อยู่จาก ถ้าคุณออกนอกเส้นทางกลับ NDR จะไปที่ผู้ส่งฉันคิดว่า
Shawn D.

1
... ซึ่งเป็นสิ่งที่น่ารำคาญสำหรับเครื่องบินทิ้งระเบิด อย่าทำอย่างนั้น!
tripleee

ฉันเข้าใจถูกไหม เมื่อพูดถึงแบบฟอร์มบนเว็บสำหรับการส่ง e-mail มาที่Senderเป็นคนที่ส่งแบบฟอร์มบนเว็บและFromเป็นเซิร์ฟเวอร์ที่ส่ง e-mail? หรือว่าเป็นอีกทางหนึ่ง?
Ethan Leroy

7
ลองนึกภาพ VIP บางคนที่มีผู้ช่วยจัดการกล่องจดหมาย หากผู้ช่วยเขียนอีเมลในนามของ VIP ผู้ช่วยคือผู้ช่วยSenderแต่ข้อความนั้นคือFromVIP นี่คือสิ่งที่จะเกิดขึ้นเมื่อคุณเห็นอีเมลที่อธิบายว่า "จากผู้ช่วยในนามของ VIP"
ดูใน

@ShawnD. จะเป็นอย่างไรถ้าไม่มีReturn-Path. เป็นค่าเริ่มต้นSenderแล้วหรือไม่?
Pacerier

102

RFC อย่างเป็นทางการซึ่งกำหนดข้อกำหนดนี้สามารถพบได้ที่นี่:

http://tools.ietf.org/html/rfc4021#section-2.1.2 (ดูที่ย่อหน้า 2.1.2 และต่อไปนี้)

2.1.2. ฟิลด์ส่วนหัว: จาก

Description:  
    Mailbox of message author  
[...]  
Related information:
    Specifies the author(s) of the message; that is, the mailbox(es)
    of the person(s) or system(s) responsible for the writing of the
    message. Defined as standard by RFC 822.

2.1.3. ฟิลด์ส่วนหัว: ผู้ส่ง

Description:  
    Mailbox of message sender  
[...]  
Related information:
    Specifies the mailbox of the agent responsible for the actual
    transmission of the message.  Defined as standard by RFC 822.

2.1.22 ฟิลด์ส่วนหัว: Return-Path

Description:
    Message return path
[...]  
Related information:
    Return path for message response diagnostics. See also RFC 2821
    [17]. Defined as standard by RFC 822.

5
ขอบคุณที่ให้ลิงค์ RFC อย่างเป็นทางการ มีประโยชน์มากถ้ามีคนถามว่า "อิงจากอะไร"
bayuah

คำตอบอื่น ๆ (จากปี 2011) อ้างว่าวิธีที่ระบุในที่นี้ทำให้ gmail ตั้งค่าสถานะอีเมลว่าเป็นสแปม ฉันสงสัยว่าวันนี้ยังคงเป็นเช่นนั้นอยู่หรือเปล่า
showdev

Updated ใน RFC 5322 tools.ietf.org/html/rfc5322#section-3.6 ใครช่วยบอกคน SMTP RFC ได้ไหมว่ามันจะช่วยได้ถ้าช่อง Sender ต้องตรงกับที่อยู่จากที่ใช้ในกระบวนการจับมือ SMTP ถ้าจะใช้
BeowulfNode42

24

การอัปเดตเล็กน้อยสำหรับสิ่งนี้: ผู้ส่งไม่ควรตั้งค่าReturn-Path:ส่วนหัว ไม่มีReturn-Path:ส่วนหัวของข้อความระหว่างการส่ง ส่วนหัวนั้นกำหนดโดย MTA ซึ่งทำการจัดส่งขั้นสุดท้ายและโดยทั่วไปจะตั้งค่าเป็นค่า5321.Fromเว้นเสียแต่ว่าระบบโลคัลต้องการการกำหนดเส้นทางที่แปลก

เป็นความเข้าใจผิดที่พบบ่อยเนื่องจากผู้ใช้ไม่ค่อยเห็นอีเมลที่ไม่มีReturn-Path:ส่วนหัวในกล่องจดหมาย เนื่องจากพวกเขาเห็นข้อความที่ส่งอยู่เสมอ แต่ MTA ไม่ควรเห็นReturn-Path:ส่วนหัวของข้อความระหว่างการส่ง ดูhttp://tools.ietf.org/html/rfc5321#section-4.4


ผู้ส่งที่ใช้ไคลเอนต์อีเมลจะไม่ตั้งค่า แต่ "ผู้ส่ง" ที่เขียนสคริปต์ที่ส่งอีเมลอาจตั้งค่าตามสคริปต์ดังนั้นฉันคิดว่าการพูดว่าผู้ส่งไม่ควรตั้งค่านั้นทำให้เข้าใจผิด
ChiliNUT

3
น่าเสียดายที่ Chilinut ไม่ถูกต้องจริงๆ เส้นทางการส่งคืน: ส่วนหัวของข้อความระหว่างการขนส่งจะถูกละทิ้ง MDA (ตัวแทนส่งจดหมาย) ที่ดำเนินการจัดส่งขั้นสุดท้ายจะตั้งค่าส่วนหัว Return-Path: ให้ตรงกับค่าของ 5321 จาก (ซองจดหมายจาก) ดำเนินการโดย ข้อความ. เนื่องจากซองจดหมายสูญหายเมื่อส่งข้อความดังนั้นส่วนหัว Return-Path: จะบันทึกสิ่งที่ซองจดหมายมาจากที่ MDA ได้รับข้อความ
cmeid

ฉันกำลังดูที่ส่วนหัวของข้อความในกล่องจดหมายตอนนี้และมีที่From:อยู่และที่อยู่ (ที่แตกต่างกัน ) Return-Path:ดังนั้นฉันไม่รู้ว่าคุณหมายถึงอะไร
ChiliNUT

2
Return-Path:หัวสะท้อนให้เห็นถึงซองจดหมายจากหรือที่อยู่ RFC5321.From From:หัวสะท้อนให้เห็นถึงส่วนหัวจากหรือที่อยู่ RFC5322.From
cmeid

5
มันจะกลายเป็นความหมายสิ่งสำคัญ (ตามด้านบน) คือคุณไม่สามารถตั้งค่าReturn-Path:ส่วนหัวเมื่อส่งข้อความ ถ้ามีก็จะถูกทิ้งในระหว่างการขนส่งและตั้งค่าเป็น RFC5321 ในภายหลังจากหรือซองจดหมายจาก MDA ที่ส่งข้อความขั้นสุดท้าย โดยทั่วไปReturn-Path:ส่วนหัวจะบันทึกสิ่งที่ซองจดหมายได้รับเนื่องจากซองจดหมายถูกทิ้งเมื่อส่งมอบ
cmeid
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.