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

tablectl/Edit Master Table

 

tablectl - Master Table Administration

tablectl command is for referring, editing, and updating master tables in the database of bounceHammer.

bounceHammer's database have 6 master tables: Addressers (a sender's email address), SenderDomains (a domain part of an Addresser), Destinations (a domain part of a Recipient), HostGroups, Providers, and Reasons.

This command has been installed in INSTALL-DESTINATION/bin directory.

Usage of this command

You can edit and refer each master table (SenderDomains, Destinations, HostGroups, Providers, and Reasons) of bounceHammer by using tablectl command without SQL. This operation can be do with WebUI.

But you may not need to use this command many times. 4 master tables except SenderDomains; HostGroups and Reasons get have records by oprations described at Setting Up Database page, Addressers and Destinations will get have records by running databasectl command at each time.

List the reasons of email bounce from the master table
# tablectl --list -tw
 
Insert "example.com" into SenderDomains table
# tablectl --table s --insert --name 'example.co.jp' --description 'Example K.K.'
 
Update the description of Addresser (Sender's email address)
table with specifying ID(=1)
# tablectl --update -ta --id 1 --description 'this is my address'
 
Delete the record from Destinations (The domain part of Recipient)
table with specifying ID(=4)
# tablectl --remove -td --id 4
 
Show help message
# tablectl --help

Available Options

Options for Controlling Master table

-t, --table CHAR
Specify the mastertable which you want to operate. Available characters which can be specified are the followings:
  • a: Addresser (a sender's email address)
  • s: SenderDomains (a domain part of an Addresser)
  • d: Destinations (a domain part of a Recipient)
  • h: HostGroups
  • p: Providers
  • w: Reasons (of email bounce)
--list
List the records of the mastertable which is specified with -t option. --id, --nameoption is useful with this option. This option is equivalent to the SQL: SELECT * FROM ... WHERE (...);.
--update
Update the record of the mastertable which is specified with -t option. The record ID with --id option should be specified. Updatable columns will be specified with the following options: --name, --decription, --disable. This option is equivalent to UPDATE statement in SQL.
--insert
Insert new record into the master table which is specified with -t option. The new record is given by the following options: --name, --description, --disable. This option is equivalent to INSERT statement in SQL.
--remove
Delete the record in the master table which is specified with -t option. The record you want to remove should be specified with --id option. This option is equivalent to the SQL: DELETE FROM ... WHERE (id = ...);.

Options for Specifying Column

--id THE-ID
This option is for specifying ID to update the record with --update option, to delete the record with --remove option, and to list the records with --list option. This option is equivalent to ... WHERE (id = ...) in SQL.
--name NAME
This option is for specifying name of the record to insert with --insert option, to update with --update, and to list with --list option. This option is equivalent to ... WHERE (name = "...") in SQL. This option should be specified when you insert a new record with --insert option.
--description DESCRIPTION-TEXT
This option is for specifying description of the record to insert with --insert option, to update with --update option, and to list with --list option. This option is equivalent to ... WHERE (description = "...") in SQL.
--disabled 1 or 0
This option is for specifying disabled-flag of the record to insert with --insert option, to update with --update option, and to list with --list option. This option is equivalent to ... WHERE (disable = ...) in SQL. --disabled option and the disabled column are implemented but they are almost unused by bounceHammer.

Other Options

-C, --conf CONFIG-FILE
Use an alternative bounceHammer's configuration file. If this option is omitted, the command will use INSTALL-DESTINATION/etc/bouncehammer.cf.
-T, --test
Runs as test mode. This option is equals to the option -C INSTALL-DESTINATION/etc/test-run.cf.
-F, --format CHAR
Display rows of master table as a specified format. If this option is omitted, the results are displayed as a ASCII Table. Available format characters are the followings:
CHAR Notes
y YAML | e.g.) -Fy
a ASCII Table | -Fa
If you specify one of --insert, --update, and --remove option, this option will be ignored.
--silent
Turn silent mode on. This option makes the command quiet in spite of -v, --verbose option (described later). And when the command is called from a daemon (such as sendmail), the command will exit with status 0 in spite of an error. If an MTA process (e.g. /usr/sbin/sendmail) which is called the command without this --silent option stopped by an error, the command will exit with status 75(EX_TEMPFAIL).
-v, --verbose
Turn verbose mode ON.
--help
Display help messages of this command.
--version
Display the version number of this command.

SenderDomains Table

You should register domain names into SenderDomains table manually by using tablectl command or WebUI. bounceHammer is supposed to use like the following:

  • In many case, Sender's domain name of bounce email is under your control.
  • You or Your company are able to manage all of the domain names of yours.
  • SenderDomains table should hold sender's domain names only which you want to namage with bounceHammer
    • Information about how to register your domain names into SenderDomain table is availabe at Register Email Domains page.

Screenshot of the running command

tablectl -Fa --table senderdomain --list

The following screenshot shows that tablectl command list the records in SenderDomain table as a ASCII Table format.