gotmail(1) A script to fetch mail from a Hotmail mailbox.


gotmail [-u username] [-p password] [--help] [--version] ...


This manual page documents the gotmail script.

Gotmail is a perl script to fetch mail out of a Hotmail account and either place it into the current directory in unix mbox format or forward it to another email address.


Tp -?, --help, --usage Show summary of options.
Tp -u, --username username Specify your hotmail account username.
Tp -p, --password password Specify your hotmail account password. (Warning: using this on the command line is insecure. It is suggested that you use a configuration file--see below)
Tp -d, --domain domain Specify an acceptable hotmail domain: (default), (default),,,,,,,,,,,
Tp --version Print the version number.
Tp --debug Print and log debug spew.
Tp -v, --verbose Be verbose.
Tp --silent Be as quiet as possible.
Tp -c, --config-file file Specifies a different configuration file than the default (~/.gotmailrc). See below.
Tp --proxy host:port Specify an HTTP proxy to use. Format is host:port - eg: localhost:3128
Tp -f, --forward address Specify an email address to forward to. If a forwarding address is not given, messages will be saved to disk.
Tp -s, --smtpserver server Send email via the specified smtp server, rather than with sendmail. This allows use of Gotmail under Windows 2000, at least. May work elsewhere.
Tp --exclude-folders folders Do not get these folders (list of folders in quotes, i.e.: "Inbox, Bulk Mail")
Tp --folders folderlist The --folders option only downloads messages from folders that are in the list given. eg. gotmail --folders "bulk mail, inbox" will get the bulk mail and inbox folders only. The list separator should now be a comma, optionally with whitespace on either side.
Tp --folder-dir /my/dir Specify which directory to put email folders in. The folders will be saved as mbox-compatible files named after the folders on Hotmail.
Tp --only-new Only previously unread messages will be retrieved.
Tp --mark-read Mark messages as read once they have been downloaded.
Tp --delete Delete messages once they have been downloaded. This option is being deprecated as of version 0.8.2. Use the --move <folder> command to move downloaded mails to the Trash Can instead.
Tp --move <folder> Move mails to the named folder after downloading.
Tp --speed-limit Add a small delay after each message to stop the local MTA from being overloaded.
Tp --retry-limit num_tries Maximum number of times to retry a download.
Tp --save-to-login When this option is specified, saves messages to "username-foldername" in the folder-dir directory. The Inbox folder is saved to just "username".
Tp --use-procmail This option sends all messages only to procmail(1). Options to forward or save to mailboxes are ignored.
Tp --procmail-bin /path/to/procmail Allows user to set location of the procmail binary. Default is "/usr/bin/procmail".
Tp --procmail-option <opt> Pass options through to procmail
Tp --curl-bin /path/to/curl Allows user to set location of the curl binary. Default is to search the path.
Tp --use-sa Use SpamAssassin to detect junk mail.
Tp --delete-spam Delete junk mail instead of just ignoring it (requires --use-sa option).
Tp --move-spam folder Move spam to this folder (requires --use-sa option).
Tp --spam-score score SpamAssassin score to be considered spam. Default is 4.5.
Tp --nodownload Don't actually download or forward mail. Useful when used with the --delete-spam option.
Tp --summary Print the number of messages received one line per folder.
Tp --remove-header Automatically remove X-Message-Info header to not trigger X_MESSAGE_INFO rule in SpamAssassin.


Download all the mail from the account of "[email protected]" with password "sEcReT" and forward it to "[email protected]".

gotmail -u billyjoe -p sEcReT -f [email protected] (This is insecure!)

Download, and delete, new mail only in the Inbox and MyMail folders of uro_levu's Hotmail account. Save the resulting mail in mbox files named after the folders ("Inbox" and "MyMail") under the warmmail/ directory.

gotmail -u uro_levu -p my_password --delete --only-new \ --folder-dir $HOME/warmmail --folders "Inbox, MyMail" (This is insecure!)

Scan the mail in the Inbox and move anything with a SpamAssassin score of 5 or better to a folder named Spam, but don't actually download anything.

gotmail --folders "Inbox" -u billyjoe -p sEcReT --use-sa \ --nodownload --move-spam Spam --spam-score 5 (This is insecure!)


You can put the configuration for gotmail in a file. This has the significant advantage of not putting your username and password on the command line, where it is possible for others on your machine to read them. By default, gotmail will look for a file in your home directory called ".gotmailrc". You can specify a different one with the --config-file option. Options on the command line will override options in the configuration file.

Configuration files may contain comments (Lines beginning with #). Options in the file are identical to the long arguments listed above, and are assigned values using an = sign. Do not add extra whitespace before or after the =.

This very simple configuration file gets all the mail from the account of [email protected], password "ger0nim34":

# randomuser's gotmailrc file username=randomuser password=ger0nim34

This slightly more complex example causes gotmail to quietly download and delete all mail in the account of [email protected], and forward it to [email protected].

# .gotmailrc username=linux password=FreesOftwareForever [email protected] silent delete


This manual page was written by Peter Hawkins <[email protected]>, for the Debian GNU/Linux system (but may be used by others). Additions were made by paul cannon <[email protected]> and James Turnbull <[email protected]>.

Additional contributions from John Fruetel, Jon Phillips, Guyang Mao, Didier CLERC, Leigh Purdie, Sh, Patrick Froede, Herman Mereles, Kamal Kantawala, Andrei Popov, Kamal Mahyuddin, Hindu, Joel Mejeur, Wesley Hosking, Max Hales, Brian Almeida, Jens Preikschat, Jonas Smedegaard, Robert Lazzurs, Tim Dijkstra, Hari Sundararaghavan, Silas S. Brown, Adrian Chung, Lalit Chhabra, Loic TREGOUET, Sean D. True, Timothy Lee, stripes, David Holland, Sergio Rua, Lee, William X. Walsh,Chris Ham, Angel Luis Jimenez Martinez, James Ascroft-Leigh, Andrea Briganti,cageek, Brad Donison, Jens E. Madsen Jr., Paul Howarth, Gertjan Harkink, Jos De Laender, jdanwhite, and Manoajv Sridhar.