Interacting with Distro-Tracker by Email

How the Mailbot Works

Users can control their subscriptions (packages subscribed to, keywords to accept) by sending control commands enclosed in an email message to a robot. The designated email address for its control interface is control@distro-tracker-domain (aka for Debian’s instance).

Control emails contain a list of commands, each in a separate line. Available commands can be obtained by sending a control message with the help command (an email message with help on a single line).

If a message which reaches the control bot contains too many lines which are invalid commands, processing is halted and only the commands found up until that point are processed. If there were no valid commands found in the email, no response is sent, otherwise an email message is constructed and sent in response to indicate the status of each processed command.

Certain commands may require confirmation by the user, e.g. subscribing to receive package messages. If a control message contains any such command, apart from a response email, a separate “confirmation” email is also sent. Only one confirmation email is sent regardless of how many commands from the original control message require confirmation. It includes a confirmation code, instructions on how to confirm the commands and any extra information about each command which is to be confirmed.

Mailbot Commands Reference

subscribe sourcepackage [email]
Subscribes email to communications related to the source package sourcepackage. Sender address is used if the second argument is not present. If sourcepackage is not a valid source package, you will get a warning. However if it is a valid binary package, the package tracker will subscribe you to the corresponding source package.
unsubscribe sourcepackage [email]
Removes a previous subscription to the source package sourcepackage using the specified email address or the sender address if the second argument is left out.
unsubscribeall [email]
Removes all subscriptions of the specified email address or the sender address if the second argument is left out.
which [email]
Lists all subscriptions for the sender or the email address optionally specified.
keyword [email]
Tells you the keywords that you are accepting.
keyword sourcepackage [email]
Same as the previous item but for the given source package, since you may select a different set of keywords for each source package.
keyword [email] +|-|= list of keywords

Accept (+) or refuse (-) mails classified under the given keyword(s). Define the list (=) of accepted keywords. This changes the default set of keywords accepted by a user.


  • keyword + vcs derivatives
  • keyword - bts bts-control
  • keyword = default contact upload-source
keyword sourcepackage [email] +|-|= list of keywords
Same as previous item but overrides the keywords list for the indicated source package.
join-team team-identifier [email]
Adds email (or sender address if not specified) to the team whose identifier is team-identifier. If the team is not public or doesn’t exist, a warning is issued.
leave-team team-identifier [email]
Removes email (or sender address if not specified) from the team whose identifier is team-identifier. If the user identified by the email is not a member of the team, a warning is issued.
list-team-packages team-identifier
Lists all packages of the team whose identifier is team-identifier. If the team is private, the result is only sent if the user is a member of the team.
which-teams [email]
Lists all teams that have email (or the sender address if not specified) as a member.
quit | thanks | --
Stops processing commands. All following lines are ignored by the bot.