Requirements

You need to have the below installed to be able to use FetchYahoo effectively.

    * A mail client that can read from a mail spool or an mbox-formatted file
      (almost all Unix mail clients, Netscape Mail for Windows)
    * A working installation of Perl (comes with almost all Unix installations
      , needs to be installed for Windows - try ActivePerl
 ( http://www.activestate.com/Products/Download/Get.plex?id=ActivePerl&a=e )
    * Several Perl modules are required. The following module-collections
      contain the required modules: libwww-perl, html-parser, MIME-tools,
      libnet (for mail forwarding), Crypt-SSLeay (for https). Some users
      report additionally requiring the following: URI, MailTools, IO-stringy,
      MIME-Base64. There are several methods for getting these :
          o If you have an RPM-based distribution, search at RPMfind.net 
            ( http://rpmfind.net/linux/RPM/ ) for
            perl-MIME-tools, perl-html-parser, perl-libwww-perl, perl-libnet
            (for mail forwarding) and perl-Crypt-SSLeay (for https) and get
            the required RPMs for your distribution
          o For deb-based systems (properly configured), you can just do
            "apt-get -u install libnet libhtml-parser-perl libmime-perl
             libwww-perl libcrypt-ssleay-perl"
          o For windows, you can use the Perl Package Manager which comes with
            ActivePerl
          o If you have the CPAN perl module installed and working you can
            run "perl -MCPAN -e shell" and then install each of the following
            separately: HTML::Entities, LWP::UserAgent, MIME::Entity,
            Net::SMTP (for mail forwarding - use the libnet version),
            Crypt::SSLeay (for https)
          o Go to the CPAN repository ( http://www.cpan.org/ ). Go to the
            first search choice (Perl
            core and CPAN modules). Search for MIME-tools, libwww-perl,
            html-parser, libnet (for mail forwarding) and Net_SSLeay
            (for https). Follow the appropriate installation instructions.

Usage notes

    * Download the package and uncompress it (tar -xvzf fetchyahoo-x.y.tar.gz)
    * cd fetchyahoo-x.y ; chmod a+rx fetchyahoo
    * Edit fetchyahoo 
     OR copy fetchyahoorc to /etc/fetchyahoorc or ~/.fetchyahoorc and edit that
     OR just run fetchyahoo from the commandline
         (use --help to see all options). A list of options is at the end.

    * Use your mail client to get mail from your spool or mbox file
    * optionally use cron or gkrellm ( http://www.gkrellm.net/ )
      to download messages periodically
    * e-mail author ( ravi_ramkissoon AT yahoo.com) with bugs and feature
      requests

NB: Options specified on the commandline take precedence over options
    specified in the configuration file, which in turn take precedence over
    options hardcoded within the fetchyahoo program file. Note the useHTTPS
    option to use SSL to connect securely !

Procmail instructions

    * use "/path/to/procmail" as your mail spool name
    * set spoolMode to "pipe"
    * if you want procmail to send mail to your local MTA use the following in
      your .procmailrc - ":0<return>! yourlocaluser@localhost"


Windows Instructions
This is reported to work fine under Windows (thanks to Shiraz Kanga for
pointing this out). It works with the Netscape mail client which uses the mbox
format (output by FetchYahoo) for its local folders. If you know of any other
Windows mail clients which will work, please tell me.

    * Download Perl for Windows (e.g. ActivePerl -
   http://www.activestate.com/Products/Download/Get.plex?id=ActivePerl&a=e )
    * Edit fetchyahoo or the configuration file as shown above
    * Use Netscape Mail to get your mail from the mailbox you specified
    * e-mail author (ravi_ramkissoon AT yahoo.com) with bugs and feature
      requests

If you do not use Netscape Mail, you can try the following methods (these are
untested):

* For Eudora specify a new or existing Eudora mailbox as the spool file.
* For Outlook or Outlook Express, specify a temporary (existent but empty)
  file as the spool file, and then after fetchyahoo has completed, choose
  File -> Import -> Messages from Outlook (or Outlook Express) and choose the
  temporary file you specified. This has been tested successfully.

Commandline Options

--version                      print the version and exit
--help                         display help showing the program options
--quiet                        suppress regular (non-error) messages
--noerrors                     suppress error messages
--listmessages                 list messages in mail folder
--onlylistmessages             only list messages in mail folder. This combines
                               --listmessages, --nodownload and --nodelete
--configfile=config-file       use config-file as the configuration file
--username=yahoousername       use yahoousername as the login
--password=pass                use pass as the password. pass can also be an
                               md5_hex hashed password.
--spoolfile=spool-file         use spool-file as the file to spool messages to
                               if spool-file ends with / it is treated as a
                               maildir format directory
--folder=folder-name           download messages from folder-name instead
--nohttps                      use an insecure plaintext login instead of HTTPS
--newonly                      only download new (i.e. unread) messages
--nodelete                     do not delete messages after downloading them
--nodownload                   do not download messages 
                               (but still delete them/empty trash if requested)
--append                       append messages to spool-file (default)
--overwrite                    overwrite spool-file (instead of appending)
--pipe                         pipe messages to a program instead of
                               a spool-file
--emptytrashbefore             empty trash before downloading messages
--emptytrashafter              empty trash after downloading messages
--emptybulk                    empty bulk mail folder (always before fetch)
--leaveunread                  leave messages unread on the server
--repeatinterval=N             check for mail every N minutes (daemon mode)
--statusonly                   only get number of messages
--getexternal                  retrieve messages from external mailboxes also
--maxmessages=N                download at most N messages in one run
                               setting this to over 100 may cause problems
                               [DEFAULT 100]
--maxsize=N                    do not download any msg larger than N kB
                               setting to 0 will turn off this check
                               [DEFAULT 0]
--warninglevel=N               warn if the server mailbox is >= N% full
                               setting to 0 will turn off the warning
                               [DEFAULT 0]
--nofromline                   leave out the leading From_ line
--logout                       log out of Yahoo! when done
--md5hex                       print the MD5 hex hash value of a password
                               entered interactively (can be used instead of
                               password in configuration files)
--proxyhost=proxy.host.org     hostname for proxy [ DEFAULT off ]
--proxyport=N                  port for proxy [DEFAULT 80 ]
--proxyuser=proxy-user         username for proxy authentication[ DEFAULT none]
--proxypass=proxy-pass         password for proxy authentication[ DEFAULT none]
--imaphost=imap.host.org       hostname of IMAP sever [ DEFAULT off ]
--imapport=N                   port for IMAP server [DEFAULT 143 ]
--imapuser=imap-user           username for IMAP authentication[ DEFAULT none]
--imappass=imap-pass           password for IMAP authentication[ DEFAULT none]
--imapmailbox=imap-mailbox     IMAP mailbox [ DEFAULT INBOX]
--noquiet                      opposite of --quiet [DEFAULT]
--errors                       opposite of --noerrors [DEFAULT]
--delete                       opposite of --nodelete [DEFAULT]
--nolistmessages               opposite of --listmessages [DEFAULT]
--nologout                     opposite of --logout [DEFAULT]
--noempty                      do not empty trash or bulk [DEFAULT]
--allmsgs                      get all msgs (not only new ones) [DEFAULT]
--download                     opposite of --nodownload [DEFAULT]
--includefromline              opposite of --nofromline [ DEFAULT ]
--markread                     opposite of --leaveunread [ DEFAULT ]
--nostatusonly                 opposite of --statusonly [ DEFAULT ]
--nogetexternal                opposite of --getexternal [ DEFAULT ]
--https                        use a secure login via HTTPS [ DEFAULT ]
--version                      print the version and exit
--help                         display help showing the program options
--quiet                        suppress regular (non-error) messages
--noerrors                     suppress error messages
--listmessages                 list messages in mail folder
--onlylistmessages             only list messages in mail folder. This combines
                               --listmessages, --nodownload and --nodelete
--configfile=config-file       use config-file as the configuration file
--username=yahoousername       use yahoousername as the login
--password=pass                use pass as the password. pass can also be an
                               md5_hex hashed password.
--spoolfile=spool-file         use spool-file as the file to spool messages to
                               if spool-file ends with / it is treated as a
                               maildir format directory
--folder=folder-name           download messages from folder-name instead
--nohttps                      use an insecure plaintext login instead of HTTPS
--newonly                      only download new (i.e. unread) messages
--nodelete                     do not delete messages after downloading them
--nodownload                   do not download messages 
                               (but still delete them/empty trash if requested)
--append                       append messages to spool-file (default)
--overwrite                    overwrite spool-file (instead of appending)
--pipe                         pipe messages to a program instead of
                               a spool-file
--msgidarchivefile=file-name   save message IDs to this file and do not download
                               messages whose IDs have been saved to this file
--emptytrashbefore             empty trash before downloading messages
--emptytrashafter              empty trash after downloading messages
--emptybulk                    empty bulk mail folder (always before fetch)
--leaveunread                  leave messages unread on the server
--repeatinterval=N             check for mail every N minutes (daemon mode)
--statusonly                   only get number of messages
--getexternal                  retrieve messages from external mailboxes also
--maxmessages=N                download at most N messages in one run
                               setting this to over 90 may cause problems
                               [DEFAULT 90]
--maxsize=N                    do not download any msg larger than N kB
                               setting to 0 will turn off this check
                               [DEFAULT 0]
--warninglevel=N               warn if the server mailbox is >= N% full
                               setting to 0 will turn off the warning
                               [DEFAULT 0]
--nofromline                   leave out the leading From_ line
--logout                       log out of Yahoo! when done
--md5hex                       print the MD5 hex hash value of a password
                               entered interactively (can be used instead of
                               password in configuration files)
--proxyhost=proxy.host.org     hostname for proxy [ DEFAULT off ]
--proxyport=N                  port for proxy [DEFAULT 80 ]
--proxyuser=proxy-user         username for proxy authentication[ DEFAULT none]
--proxypass=proxy-pass         password for proxy authentication[ DEFAULT none]
--imaphost=imap.host.org       hostname of IMAP sever [ DEFAULT off ]
--imapport=N                   port for IMAP server [DEFAULT 143 ]
--imapuser=imap-user           username for IMAP authentication[ DEFAULT none]
--imappass=imap-pass           password for IMAP authentication[ DEFAULT none]
--imapmailbox=imap-mailbox     IMAP mailbox [ DEFAULT INBOX]
--noquiet                      opposite of --quiet [DEFAULT]
--errors                       opposite of --noerrors [DEFAULT]
--delete                       opposite of --nodelete [DEFAULT]
--nolistmessages               opposite of --listmessages [DEFAULT]
--nologout                     opposite of --logout [DEFAULT]
--noempty                      do not empty trash or bulk [DEFAULT]
--allmsgs                      get all msgs (not only new ones) [DEFAULT]
--download                     opposite of --nodownload [DEFAULT]
--includefromline              opposite of --nofromline [ DEFAULT ]
--markread                     opposite of --leaveunread [ DEFAULT ]
--nostatusonly                 opposite of --statusonly [ DEFAULT ]
--nogetexternal                opposite of --getexternal [ DEFAULT ]
--https                        use a secure login via HTTPS [ DEFAULT ]
--version                      print the version and exit
--help                         display help showing the program options
--quiet                        suppress regular (non-error) messages
--noerrors                     suppress error messages
--debug                        turn on normal and debugging output
--listmessages                 list messages in mail folder
--onlylistmessages             only list messages in mail folder. This combines
                               --listmessages, --nodownload and --nodelete
--configfile=config-file       use config-file as the configuration file
--username=yahoousername       use yahoousername as the login
--password=pass                use pass as the password. pass can also be an
                               md5_hex hashed password.
--spoolfile=spool-file         use spool-file as the file to spool messages to
                               if spool-file ends with / it is treated as a
                               maildir format directory
--folders=folder1,folder2      download messages from one or more folders instead
--nohttps                      use an insecure plaintext login instead of HTTPS
--newonly                      only download new (i.e. unread) messages
--nodelete                     do not delete messages after downloading them
--nodownload                   do not download messages 
                               (but still delete them/empty trash if requested)
--safedownload                 sleep a few seconds between messages. This
                               disables use of maxmessages and takes much
                               longer to download messages but should prevent
                               throttling by Yahoo
--append                       append messages to spool-file (default)
--overwrite                    overwrite spool-file (instead of appending)
--pipe                         pipe messages to a program instead of
                               a spool-file
--msgidarchivefile=file-name   save message IDs to this file and do not download
                               messages whose IDs have been saved to this file
--archivefolder=folder-name    move messages to this Yahoo folder
--sendto=emailaddress1,email2  list of e-mail address to forward e-mails to
--mailhost=smtp.example.com    smtp outgoing mail server to use to send mail
--sendfrom=fromaddress         e-mail address to use as the from address
--smtpusername=username        username for SMTP authentication
--smtppassword=password        password for SMTP authentication
--emptytrash                   empty trash before downloading messages
--emptytrashbefore             empty trash before downloading messages
--emptytrashafter              empty trash after downloading messages
--emptybulk                    empty bulk mail folder (always before fetch)
--leaveunread                  leave messages unread on the server
--repeatinterval=N             check for mail every N minutes (daemon mode)
--statusonly                   only get number of messages
--getexternal                  retrieve messages from external mailboxes also
--externalmailboxes=boxes,list retrieve messages from only this comma-separated
                               list of external mailboxes
--maxmessages=N                download at most N messages in one run
                               setting this to over 90 may cause problems
                               [DEFAULT 90]
--maxsize=N                    do not download any msg larger than N kB
                               setting to 0 will turn off this check
                               [DEFAULT 0]
--warninglevel=N               warn if the server mailbox is >= N% full
                               setting to 0 will turn off the warning
                               [DEFAULT 0]
--nofromline                   leave out the leading From_ line
--logout                       log out of Yahoo! when done
--md5hex                       print the MD5 hex hash value of a password
                               entered interactively (can be used instead of
                               password in configuration files)
--proxyhost=proxy.host.org     hostname for proxy [ DEFAULT off ]
--proxyport=N                  port for proxy [DEFAULT 80 ]
--proxyuser=proxy-user         username for proxy authentication[ DEFAULT none]
--proxypass=proxy-pass         password for proxy authentication[ DEFAULT none]
--imaphost=imap.host.org       hostname of IMAP sever [ DEFAULT off ]
--imapport=N                   port for IMAP server [DEFAULT 143 ]
--imapuser=imap-user           username for IMAP authentication[ DEFAULT none]
--imappass=imap-pass           password for IMAP authentication[ DEFAULT none]
--imapmailbox=imap-mailbox     IMAP mailbox [ DEFAULT INBOX]
--secureimap                   use secure IMAP (IMAPS) [ DEFAULT off ]
--noquiet                      opposite of --quiet [DEFAULT]
--errors                       opposite of --noerrors [DEFAULT]
--delete                       opposite of --nodelete [DEFAULT]
--nodebug                      opposite of --nodebug [DEFAULT]
--nolistmessages               opposite of --listmessages [DEFAULT]
--nologout                     opposite of --logout [DEFAULT]
--noempty                      do not empty trash or bulk [DEFAULT]
--allmsgs                      get all msgs (not only new ones) [DEFAULT]
--download                     opposite of --nodownload [DEFAULT]
--includefromline              opposite of --nofromline [ DEFAULT ]
--markread                     opposite of --leaveunread [ DEFAULT ]
--nostatusonly                 opposite of --statusonly [ DEFAULT ]
--nogetexternal                opposite of --getexternal [ DEFAULT ]
--nosafedownload               opposite of --safedownload [ DEFAULT ]
--https                        use a secure login via HTTPS [ DEFAULT ]
--cookiefile=filename          read/save cookies from/to file [DEFAULT none]
--nosecureimap                 do not use secure IMAP (IMAPS) [ DEFAULT ]
