Nói chung có hai loại bị trả lại
- Bounce gây ra bởi sự từ chối trực tiếp của máy chủ thư từ xa khi postfix của bạn gửi email.
- Các thư bị trả lại do máy chủ từ xa (máy chủ hop-hop sau postfix của bạn) không gửi được tin nhắn đến người nhận cuối cùng.
Trường hợp đầu tiên đã được bao phủ bởi câu trả lời xuất sắc của Esa Jokinen ở trên. Đặt cược tốt nhất của bạn là phân tích cú pháp maillog.
Trường hợp thứ hai là trường hợp đặc biệt bị trả lại. Kịch bản ví dụ:
- Bạn gửi email với người nhận fakemail@example.com đến máy chủ mail.example.com .
- Trong mail.example.com, fakemail@example.com được đặt bí danh là realmail@example.net và phải được chuyển tiếp đến mail.example.net .
- Một ngày nào đó mail.example.net từ chối thư của bạn để mail.example.com phải gửi thư đến máy chủ của bạn.
- Thật không may, maillog trong máy chủ của bạn sẽ có "dsn = 2" vì mail.example.com đã chấp nhận thư nhưng không chuyển tiếp được đến mail.example.net .
Ở đây ví dụ về loại email bị trả lại. Có quy tắc chuyển tiếp máy chủ thư Yahoo myuser@yahoo.com -> myuser@example.net . Thật không may, máy chủ mail của example.net từ chối thư :(
From MAILER-DAEMON Thu Mar 5 05:07:26 2015
Return-Path: <>
X-Original-To: noreply-myuser=yahoo.com@example.org
Delivered-To: noreply-263462085117-1425506829-myuser=yahoo.com@example.org
Received: from nm21-vm7.bullet.mail.gq1.yahoo.com (nm21-vm7.bullet.mail.gq1.yahoo.com [98.136.217.54])
(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
(No client certificate requested)
by mx.example.org (Postfix) with ESMTPS id D6365565FC
for <noreply-263462085117-1425506829-myuser=yahoo.com@example.org>; Thu, 5 Mar 2015 05:07:25 +0700 (WIT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=bounce; t=1425506842; bh=zk/tWZNl6c36dmlPDmakM9ekK8cHVJANXMmSdsbkcWc=; h=From:To:Date:Subject:From:Subject; b=Im95h1qTg6qN3yUI7vF1fXtJ0SbUnzv8rUPwLbpNwxGPN2p8wfosXJzQgJ3nzr4L4ZQ50P2d9E9U4jEUNtnyi7nlFd5kKbtiVuda4H56h1PFnt+7wSpgHcd5Irs/lLODumb6ZZSEpCOWttcB9+JLaDfEUUPjGcbR+xww4XeH5Eo=
From: MAILER-DAEMON@yahoo.com
To: noreply-263462085117-1425506829-myuser=yahoo.com@example.org
Date: Wed, 04 Mar 2015 22:07:22 -0000
Subject: Failure Notice
X-Yahoo-Newman-Property: bmbounce
Sorry, we were unable to deliver your message to the following address.
<myuser@example.net>:
Remote host said:
550 5.1.1 User unknown
[RCPT_TO]
Trong trường hợp này, phương pháp duy nhất của bạn là phân tích cú pháp tin nhắn bị trả lại. Thật không may, không có định dạng bị trả lại tiêu chuẩn, vì vậy bạn phải phân tích cú pháp cơ thể và xác định sự từ chối gây ra.
Danh sách kiểm tra tính năng của phân tích cú pháp trả lại hậu tố của bạn:
- Kiểm tra xem địa chỉ VERP có hợp lệ không. Bạn không muốn phân tích tin nhắn không hợp lệ.
- Phân tích cơ thể, xác định xem chúng là loại bỏ mềm hay cứng.
Đối với tính năng thứ hai, bạn có thể google một số thông báo từ chối phổ biến. Ví dụ là tệp nảy-regex-list.xml này của Jakub Liska .
Esa Jokinen đã đưa ra một điểm tốt trong bình luận dưới đây về hai loại nảy này. Nếu mục tiêu của bạn là giữ uy tín cho máy chủ, thì việc xử lý loại thoát đầu tiên là đủ. Lần thoát thứ hai là về việc làm sạch danh sách của bạn. Vì vậy, email chết nên được xóa để giải phóng một số tài nguyên trong máy chủ của bạn.
Một số người quản lý danh sách gửi thư như PHPlist và Mailman cũng giải quyết vấn đề thoát này bằng cách phân tích cơ thể email vì họ không có tài nguyên để phân tích cú pháp maillog.