Skip to main content

bouncelog

Last updated March 2020

The bouncelog records both in-band and out-of-band bounces. It is configured in the bounce_logger module.

Bounce Records

A bounce line is written to the bouncelog for every bounce that Momentum witnesses. The log entry is an @ delimited string, such as the following:

1064868656@91/6D-07914-E67BC044@00/00-03736-F4101B54@00/00-04532-A3456B54@B@ »
johndoe@example.fict@info@postalengine.com@group-a@binding-a@21@24@1223@10.0.0.1@554 »
5.4.7 [internal] exceeded max time without delivery

The following is a description of the fields:

OffsetExample FieldDescription
01064868656Date of reception in Unix timestamp format (seconds since 00:00:00 Jan 1, 1970).
191/6D-07914-E67BC044Message's unique message-id
200/00-03736-F4101B54Batch ID
300/00-04532-A3456B54Connection ID
4BB indicating an in-band and an out-of-band bounce or T indicating a transient failure
5johndoeLocalpart of the recipient of the original message
6example.fictDomain of the recipient
7infoLocalpart of the envelope sender
8postalengine.comDomain of the envelope sender
9group-aBinding group to which the bounce email was bound, if available
10binding-aBinding to which the bounce email was bound, if available
1121Stage of the message (See “Connection Stages”.)
1224Classification code for the message (See “Bounce Classification Codes”.)
131223Message size
1410.0.0.1IP address of the server that bounced the message
15554 5.4.7 [internal] exceeded max time without deliveryRaw bounce message from the server

Heartbeat Records

In addition to the record described in the previous section, a heartbeat is written periodically to the log, indicating that Momentum is still active and may log further data. The log entry is an @ delimited string, such as the following:

1251222268@@@@M1

The following is a description of the fields:

OffsetExample FieldDescription
01251222268Date of delivery in Unix timestamp format (seconds since 00:00:00 Jan 1, 1970)
1 Unused
2 Unused
3 Unused
4M1M1 indicating a heartbeat

Having three unused fields ensures that, like other logs, the fifth field is the log entry type. This makes parsing easier.

Was this page helpful?