Cách tạo Báo cáo về địa chỉ email bị trả lại trong Gmail

Cách tạo Báo cáo về địa chỉ email bị trả lại trong Gmail

Báo cáo email bị trả lại cho Gmail liệt kê tất cả các địa chỉ email bị trả lại. Nó cũng cung cấp phản hồi được cung cấp bởi máy chủ của người nhận để từ chối email của bạn.

Một số thư email bạn đã gửi qua tài khoản Gmail của bạn có thể không được gửi đi. Có thể có một vấn đề với địa chỉ email của người nhận, như lỗi chính tả, hộp thư của họ có thể đầy hoặc có thể máy chủ thư có thể chặn email của bạn một cách cụ thể do nội dung của thư.

Khi một thông báo email được gửi qua Gmail bị trả về hoặc bị từ chối, bạn sẽ nhận được thông báo phản hồi tự động từ mailer-daemon@gmail.com đó và nó sẽ luôn chứa lý do chính xác cho lỗi gửi cùng với mã lỗi SMTP. Chẳng hạn, mã lỗi 550 chỉ ra rằng địa chỉ email không tồn tại trong khi 554 chỉ ra rằng email của bạn được phân loại là thư rác bởi máy chủ thư của người nhận.

Làm thế nào để có được một danh sách các địa chỉ email bị trả về?

Điều quan trọng là phải theo dõi các tin nhắn bị trả lại của bạn và xóa tất cả các địa chỉ email chưa được gửi khỏi thư trong tương lai của bạn vì chúng có thể ảnh hưởng đến uy tín gửi của bạn.

Hợp nhất thư cho Gmail theo dõi tất cả các thư bị trả lại của bạn trong Gmail nhưng nếu bạn chưa sử dụng kết hợp thư, thì đây là một Tập lệnh Google mã nguồn mở sẽ chuẩn bị một danh sách tất cả các địa chỉ email đã bị trả lại trong Bảng tính Google.

Báo cáo Bounce của Gmail - Bắt đầu

Đây là cách bạn có thể bắt đầu:
  • Nhấn vào đây để tạo một bản sao của Google Spreadsheet.
  • Mở Bounced Emails trong Google Sheet của bạn và sau đó chọn Run Report.
  • Cho phép Google Script để nó có thể quét tài khoản Gmail của bạn để tìm email bị trả lại và viết chúng vào Google Sheet. Tập lệnh chạy hoàn toàn trong tài khoản Google của bạn, không có dữ liệu nào được lưu trữ hoặc chia sẻ ở bất cứ đâu.
  • Xem như Google Sheet được điền với các địa chỉ email bị từ chối và bị trả lại.
Báo cáo thoát email bao gồm địa chỉ email bị trả lại, lý do tại sao email đó không gửi được và ngày xảy ra việc thoát. Bảng tính cũng sẽ có một liên kết trực tiếp đến tin nhắn bị trả lại nhận được từ mailer-daemon.

Chi tiết kỹ thuật - Cách thức hoạt động của Script

Tập lệnh sử dụng API Gmail để tìm nạp danh sách tất cả các email bị trả lại trong hộp thư của bạn.


const findBouncedEmails = () => {
const { messages = [] } = Gmail.Users.Messages.list('me', {
q: 'from:mailer-daemon',
maxResults: 200
});
for (let m = 0; m < messages.length; m += 1) {
const bounceData = parseGmailMessage(messages[m].id);
if (bounceData) {
SpreadsheetApp.getActiveSheet().appendRow(bounceData);
}
}
};

Tiếp theo, tập lệnh phân tích các tiêu đề của thư bị trả lại bằng regex và ghi thông tin bị trả về Google Sheet.


const parseGmailMessage = messageId => {
const message = GmailApp.getMessageById(messageId);
const body = message.getPlainBody();
const [, failAction] = body.match(/^Action:\s*(.+)/m) || [];

/* If failAction is "delayed", igore message since Gmail will retry it */
if (failAction === 'failed') {
/* The X-Failed-Recipients header in Gmail contains the recipient's address */
const emailAddress = message.getHeader('X-Failed-Recipients');
/* Get the SMTP error code
The first sub-field indicates whether the delivery attempt was successful
(2= success, 4 = persistent temporary failure, 5 = permanent failure). */
const [, errorStatus] = body.match(/^Status:\s*([.\d]+)/m) || [];
/* The Diagnostic-Code DSN field contains the actual diagnostic code
Some mail systems supply no additional information beyond that
which is returned in the 'action' and 'status' fields. */
const [, , bounceReason] =
body.match(/^Diagnostic-Code:\s*(.+)\s*;\s*(.+)/m) || [];
return [
message.getDate(),
emailAddress,
errorStatus,
bounceReason.replace(/\s*(Please|Learn|See).+$/, ''),
`=HYPERLINK("${message.getThread().getPermalink()}";"View")`
];
}
return false;
};

Trong Google Sheet của bạn, hãy chuyển đến trình đơn Tools và chọn Script Editor để xem mã nguồn đầy đủ của Google Script. Bạn được chào đón để sử dụng lại / sửa đổi mã.

Bạn có thể thích những bài đăng này