Sự khác biệt hành vi giữa đường dẫn trở lại, trả lời và từ là gì?


162

Trên ứng dụng gửi thư của chúng tôi, chúng tôi đang gửi email với tiêu đề sau:

FROM: marketing@customer.com
TO: subscriber1@domain1.com
Return-PATH: bouncemgmt@ourcompany.com

Vấn đề mà chúng tôi đang gặp phải là một số máy chủ email sẽ trả lại thư ngay lập tức và sử dụng đường dẫn từ hoặc đảo ngược (marketing@customer.com) thay vào máy chủ bị trả lại của chúng tôi. Chúng tôi muốn biết nếu chúng tôi sửa đổi trong tiêu đề, câu trả lời sẽ giống với đường dẫn trở lại nếu chúng tôi có thể bắt được tất cả các lần thoát.

Bất kỳ ý tưởng khác được chào đón?

Chúng tôi đang sử dụng các tài liệu sau khi tham khảo: VERP RFC Tin nhắn Thoát

Phân tích nhật ký SMTP để nhận Bounce

EDIT 1: Một vài thông tin nữa để xem liệu chúng ta có thể giải quyết vấn đề này không.

Chúng tôi muốn biết tại thời điểm nào máy chủ email chuyển tiếp thư sẽ chọn sử dụng đường dẫn trả lời so với đường dẫn trả về. Chúng tôi nhận thấy rằng khi máy chủ smtp đầu tiên chuyển tiếp tin nhắn bị từ chối, nó sẽ gửi nó đến thư trả lời, nhưng khi nó xảy ra sau một bước nhảy thì nó sẽ gửi nó đến đường dẫn trả về.


1
Điều gì về việc chỉ định Người gửi: và Ưu tiên: các trường? Tôi muốn biết thêm về cách chúng ảnh hưởng đến các máy chủ thư khác nhau khi bị trả về và thoát khỏi chế độ tự động kiểu văn phòng. Có ai không
PapaFreud

Câu trả lời:


257

Hãy bắt đầu với một ví dụ đơn giản. Giả sử bạn có một danh sách email, sẽ gửi ra nội dung RFC2822 sau đây .

From: <coolstuff@mymailinglist.com>
To: <you@yourcompany.com>
Subject: Super simple email
Reply-To: <coolstuff-threadId=123@mymailinglist.com>

This is a very simple body.

Bây giờ, giả sử bạn sẽ gửi nó từ danh sách gửi thư, thực hiện ĐỘNG TỪ (hoặc một số cơ chế theo dõi thoát khác sử dụng đường dẫn trả lại khác). Hãy nói rằng nó sẽ có đường dẫn trở lại coolstuff-you=yourcompany.com@mymailinglist.com. Phiên SMTP có thể trông như sau:

{S}220 workstation1 Microsoft ESMTP MAIL Service
{C}HELO workstation1
{S}250 workstation1 Hello [127.0.0.1]
{C}MAIL FROM:<coolstuff-you=yourcompany.com@mymailinglist.com>
{S}250 2.1.0 me@mycompany.com....Sender OK
{C}RCPT TO:<you@yourcompany.com>
{S}250 2.1.5 you@yourcompany.com 
{C}DATA
{S}354 Start mail input; end with <CRLF>.<CRLF>
{C}From: <coolstuff@mymailinglist.com>
To: <you@yourcompany.com>
Subject: Super simple email
Reply-To: <coolstuff-threadId=123@mymailinglist.com>

This is a very simple body.
.

{S}250 Queued mail for delivery
{C}QUIT
{S}221 Service closing transmission channel

Trong đó {C} và {S} tương ứng là các lệnh Máy khách và Máy chủ.

Thư của người nhận sẽ giống như:

Return-Path: coolstuff-you=yourcompany.com@mymailinglist.com
From: <coolstuff@mymailinglist.com>
To: <you@yourcompany.com>
Subject: Super simple email
Reply-To: <coolstuff-threadId=123@mymailinglist.com>

This is a very simple body.

Bây giờ, hãy mô tả các "TỪ" khác nhau.

  1. Đường dẫn trả lại (đôi khi được gọi là đường dẫn ngược, người gửi phong bì hoặc phong bì từ - tất cả các thuật ngữ này có thể được sử dụng thay thế cho nhau) là giá trị được sử dụng trong phiên SMTP trong MAIL FROMlệnh. Như bạn có thể thấy, đây không cần phải là cùng một giá trị được tìm thấy trong các tiêu đề thư. Chỉ máy chủ thư của người nhận có nghĩa vụ thêm tiêu đề Đường dẫn trở lại vào đầu email. Điều này ghi lại người gửi Đường dẫn trả lại thực tế trong phiên SMTP. Nếu tiêu đề Đường dẫn trả về đã tồn tại trong thư, thì tiêu đề đó sẽ bị xóa và được thay thế bởi máy chủ thư của người nhận.

Tất cả các lần thoát xảy ra trong phiên SMTP sẽ quay trở lại địa chỉ Đường dẫn trả về. Một số máy chủ có thể chấp nhận tất cả email và sau đó xếp hàng cục bộ cho đến khi có chuỗi miễn phí để gửi nó đến hộp thư của người nhận. Nếu người nhận không tồn tại, nó sẽ đưa nó trở lại giá trị Đường dẫn trả về được ghi lại.

Lưu ý, không phải tất cả các máy chủ thư đều tuân thủ quy tắc này; Một số máy chủ thư sẽ đưa nó trở lại địa chỉ TỪ.

  1. Địa chỉ TỪ là giá trị được tìm thấy trong tiêu đề TỪ. Đây được cho là ai là người nhắn tin TỪ. Đây là những gì bạn thấy là "TỪ" trong hầu hết các ứng dụng thư. Nếu một email không có tiêu đề Trả lời, thì tất cả các câu trả lời của con người (mail client) sẽ quay trở lại địa chỉ TỪ.

  2. Tiêu đề Trả lời được thêm bởi người gửi (hoặc phần mềm của người gửi). Đó là nơi tất cả các câu trả lời của con người cũng nên được giải quyết. Về cơ bản, khi người dùng nhấp vào "trả lời", giá trị Trả lời phải là giá trị được sử dụng làm người nhận email mới được soạn. Giá trị Trả lời không nên được sử dụng bởi bất kỳ máy chủ nào. Nó chỉ dành cho phía khách hàng (MUA).

Tuy nhiên, như bạn có thể nói, không phải tất cả các máy chủ thư đều tuân theo các tiêu chuẩn hoặc khuyến nghị của RFC.

Hy vọng điều này sẽ giúp làm sáng tỏ mọi thứ. Tuy nhiên, nếu tôi bỏ lỡ bất cứ điều gì, hãy cho tôi biết và tôi sẽ cố gắng trả lời.


Điều này rất hữu ích. Cảm ơn vì đã dành thời gian cho tôi. Một câu hỏi. Nó có thể xảy ra rằng một số bị trả lại đang đi đến trả lời thay vì đường dẫn trở lại?
Geo

5
tốt, về mặt kỹ thuật, bạn có thể (nhưng không được phép) thêm tiêu đề đường dẫn trả về, tuy nhiên, nếu tiêu đề đường dẫn trả lại tồn tại, nó sẽ bị ghi đè bởi máy chủ smtp đang nhận. Nếu không tồn tại, nó sẽ được thêm vào đầu các tiêu đề.
dave Wanta

7
Tôi có một chút không rõ ràng về cách return-pathsử dụng. Nếu return-pathđược coi là một địa chỉ trả lại, tại sao máy chủ thư của người nhận sẽ điền vào trường này thay vì người gửi? Làm thế nào để máy chủ của người nhận thậm chí biết những gì để đặt trong đó? Điều này có vẻ không ngược?
Greatwolf

6
Máy chủ thư của người nhận chèn tiêu đề Đường dẫn trả về vào thư bằng cách sao chép giá trị được cung cấp bởi máy chủ thư của người gửi trong lệnh "MAIL TỪ" của SMTP. Hãy tưởng tượng một nhân viên bán hàng trong phòng mở thư - họ nhìn vào địa chỉ trả lại trên phong bì và viết nó trên đầu thư (và ném phong bì đi).
John Hascall

5
Và làm thế nào để Sender:tiêu đề phù hợp với tất cả điều này?
Simon East

150

Một cách khác để suy nghĩ về Return-Pathvs Reply-Tolà so sánh nó với ốc sên.

Khi bạn gửi một phong bì trong thư, bạn chỉ định một địa chỉ trả lại . Nếu người nhận không tồn tại hoặc từ chối thư của bạn, nhân viên bưu điện sẽ trả lại phong bì cho địa chỉ trả lại. Đối với email, địa chỉ trả lạiReturn-Path.

Bên trong phong bì có thể là một chữ cái và bên trong bức thư, nó có thể hướng người nhận đến "Gửi thư tương ứng đến địa chỉ ví dụ ". Đối với email, địa chỉ ví dụReply-To.

Về bản chất, Địa chỉ trả lại bưu chính có thể so sánh với Return-Pathtiêu đề của SMTP và Reply-Totiêu đề của SMTP tương tự như các hướng dẫn trả lời có trong thư.


14
Đây là một tương tự tốt đẹp.
Lukasz Korzybski

2
@Jlie Hobart +1 vì lời giải thích hay, tôi cảm thấy bối rối hơn vì đã giúp tôi dễ hiểu tôi hơn.
Abhishek

26
Tôi sẽ chỉ ra rằng khái niệm chính không được nắm bắt trong sự tương tự này là Return-Pathtiêu đề được thêm bởi máy chủ nhận thư chứ không phải bởi người gửi . Vì vậy, nó giống như thế này: bạn có thể viết bất kỳ địa chỉ nào bạn muốn bên trong phong bì, nhưng để gửi nó, bạn phải mang nó đến bưu điện và đưa cho họ giấy phép lái xe (hoặc ID khác) và họ đặt địa chỉ đó lên phong bì trước khi gửi nó Nói cách khác, Return-Pathtiêu đề cũng đáng tin cậy như các kiểm tra được thực hiện bởi máy chủ nhận, trong đó các tiêu đề khác có thể dễ dàng bị giả mạo.
cdhowie

5

cho những người đã đến đây vì tiêu đề của câu hỏi:

Tôi sử dụng Reply-To:địa chỉ với các biểu mẫu web. khi ai đó điền vào biểu mẫu, trang web sẽ gửi email tự động đến chủ sở hữu của trang. đó From:là địa chỉ người gửi thư tự động, vì vậy chủ sở hữu biết đó là từ biểu mẫu web. nhưng Reply-To:địa chỉ là địa chỉ được người dùng điền vào biểu mẫu, vì vậy chủ sở hữu chỉ cần nhấn trả lời để liên hệ với họ.


1

Tôi đã phải thêm tiêu đề Đường dẫn trả về trong các email được gửi bởi một ví dụ Redmine. Tôi đồng ý với greatwolf chỉ người gửi mới có thể xác định Đường dẫn trả lại chính xác (không mặc định). Trường hợp như sau: Email được gửi với địa chỉ email mặc định: admin@yourcompany.com Nhưng chúng tôi muốn người dùng thực sự bắt đầu hành động nhận được email bị trả lại, bởi vì anh ta sẽ là người biết cách sửa email người nhận sai (và không phải quản trị viên ứng dụng có những con mèo khác để quất :-)). Chúng tôi sử dụng điều này và nó hoạt động hoàn toàn tốt với exim trên máy chủ ứng dụng và zimbra là máy chủ thư cuối cùng của công ty.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.