bounceHammer has been EOL'ed on February 29, 2016

EOL on February 29, 2016

bounceHammer have been downloaded and used by many users and companies since the first release on March 2010 and has been EOL: End Of Life on February 29, 2016. Thanks for using bounceHammer for a long time. We are now providing Sisimai (the successor of bounceHammer, more faster, more higher precision of analysis) as a bounce mail parser library in BSD 2-Clause License.

Sisimai
Commercial Support

  • 1Setting Up Sisimai Your Server
  • 2Support developmenet using Sisimai
  • 3Support via Email
  • 4Support bounce management
  • 5Parsing your bounced emails

Data Structure generated by bounceHammer

 

YAML/JSON Formatted Data Structure

bounceHammer parses bounce email and outputs as a structured data (the format is YAML or JSON). It is ease to use from another programs with YAML/JSON library.

Data Structure Example

The followings are example of structured data which are created by bounceHammer. The structured data contains a record per line, is hash format such as "Key Name": "Value".

More information about YAML, see The Official YAML Web Site or YAML - Wikipedia, about JSON, see Introducing JSON or JavaScript Object Notation - Wikipedia .

- { "bounced": 1221851954, "addresser": "bouncehammer@cubicroot.jp", "recipient": "this-user-does-not-exist-for-example@gmail.com", "senderdomain": "cubicroot.jp", "destination": "gmail.com", "reason": "userunknown", "hostgroup": "webmail", "provider": "google", "frequency": 1, "description": { "deliverystatus": "5.1.1", "diagnosticcode": "SMTP; 550-5.1.1 The email account that you tried to reach does not exist. Please", "listid": "", "messageid": "<4C02AA08-8F33-4607-BDF6-8C7AC9EF289C@cubicroot.jp>", "smtpagent": "Sendmail", "subject": "TEST", "timezoneoffset": "+0900" }, "token": "79e4cde6c1ddede1dafa1e7ccb48e5b4" }
- { "bounced": 1221964150, "addresser": "bouncehammer@cubicroot.jp", "recipient": "non-existent-user-address-this-is@google.mil", "senderdomain": "cubicroot.jp", "destination": "google.mil", "reason": "hostunknown", "hostgroup": "pc", "provider": "various", "frequency": 1, "description": { "deliverystatus": "5.1.2", "diagnosticcode": "SMTP; 550 Host unknown", "listid": "", "messageid": "", "smtpagent": "Sendmail", "subject": "TEST", "timezoneoffset": "+0900" }, "token": "08d15b6a47ffc71594e062f4d855f5f2" }

The first line of above means that it is a parsed data of email: From:sender01@example.jp to To:user01@example.org bounced at 2009-02-13 15:31:30(UNIX Time 1234567890), by the reason "userunknown"(Unknown User)".

Each field of structured data

bounced - Bounced Date

bounced is the date which email has bounced. The date is displayed as a UNIX machine time(32 bits integer).

addresser - Sender email address

addressser is a sender email address. All of characters in the address are written in lowercase.

recipient - Recipient email address

recipient is a recipient email address. All of characters in the address are written in lowercase like addresser.

senderdomain - Domain part of sender email address

senderdomain is a domain part of sender(From) email address. All of characters in the domain are written in lowercase like addresser, recipient.

destination - Domain part of recipient email address

destinationis a domain part of recipient(To) email address. All of characters in the domain are written in lowercase like addresser, recipient, and senderdomain.

reason - Reason of email bounce

reason is a bounce reason: Why the email bounced ? The list of classified bounce reason of bounceHammer is available at Reason page.

hostgroup - Host Group of recipient

hostgroup is a classified host group of destination (domain part of recipient email addresss). The list of classified host group of bounceHammer is available a Host Group page.

provider - Provider name of recipient

provider is over the classification of hostgroup. The list of providers of bounceHammer is available at Provider page.

frequency - How many bounced

frequency stands for the number of bounced times of each combination: sender email address(addresser) and recipient email address(recipient).

description - More information about each record

description contains more information about email-bounce: Time zone offset, MTA name, Diagnostic code, List-ID, and Delivery status.

decription/deliverystatus - D.S.N.

description/deliverystatus is a D.S.N.(Delivery Status Notifier) value written in Status: header of a bounce email. If there is no Status: header in a bounce email, bounceHammer generate an internal code as a value of Status: header.

decription/diagnosticcode - Dianostic code

description/diagnosticcode is a value written in Diagnostic-Code: header of a bounce email. If there is no Diagnostic-Code: header in a bounce email, bounceHammer write messages in the bounce email which used for detecting the reason.

decription/listid - Mailling list name

Beginning with bounceHammer 2.7.10
description/listid is a value written in List-Id: header of a bounce email. List-Id: header contains mailling list name. It is useful to find a mailling list name which have any email bounce.

decription/smtpagent - MTA Software name

Beginning with bounceHammer 2.6.1
description/smtpagent is a MTA name which created its bounce email, such as Sendmail, Postfix, qmail, Exim , CourierMTA. If the bounce email is not supported by bounceHammer, this value is recorded 'Unknown'.

decription/timezoneoffset - Time zone offset

description/timezoneoffset is a time zone offset of a bounce email which its email has bounced. If bounceHammer has failed to get a value of time zone offset, this value is '+0000'.

description/messageid - Message-Id of original message

Beginning with bounceHammer 2.7.11
description/messageid is the value of Message-Id header of the original message. When the original message which is included in a bounce email contains no Message-Id header(removed by remote MTA), this value will be empty.

description/subject - Subject of original message

Beginning with bounceHammer 2.7.11
description/subject is the value of Subject header of the original message. When the original message which is included in a bounce email contains no Subject header(removed by remote MTA), this value will be empty. If the value of Subject header of the original message contain any multibyte character(non ASCII character), such as MIME encoded Japanese or German and so on, the value of subject in parsed data is encoded with UTF-8 again.

token - Bounce record identifier

token is an identifier of each email-bounce. the token string is created from a sender email address(addresser) and a recipient email address(recipient) as an MD5 hash value.

Message token value can be created by messagetoken command and WebUI.