POPPY(1)

NAME
poppy - client to perform simple tasks with a POP3/IMAP server

SYNOPSIS
poppy [options] [server_name]

poppy [options] [username@server_name]

DESCRIPTION
poppy retreives mail headers one by one from a mail server using the POP3 or IMAP mail transfer protocol and then allows you to perform simple tasks on those messages. It is primarily used by systems that have limited system resources, such as slow ppp connections, low disk space, or limited graphical support. It is written to work with version 4 and 5 of Perl. When started, poppy looks for configuration information in the ~/.poppyrc file. Check the FILES section for information on this file.

poppy will individually read the header to each mail message on the POP3/IMAP server and then allow you to view, save, delete or reply to these messages.

poppy was written to fill a specific need. Most POP3 mail readers simply download and delete all emails from the mail server or download them and don't delete them at all. There is usually no way to tell the mail server afterwards to delete only specific emails. poppy allows you to go in and delete emails specifically. This way one could read all their email from one location, say work, and then delete all but the important message so that they can later download them all, say from home. This is especially nice since you are able to make the best use out of your high speed internet connections to improve the time spent on your low speed connection.

Programs that support IMAP are usually a little better in that they will only retrieve the mail headers but there is currently very few programs that fully support multiple email accounts that are both IMAP and POP3 accounts.

A second use is to speed your downloading times. poppy works well along with other mail readers. Most other POP3 mail readers download all your mail first and then let you view each one. If you get large emails it can take a long download period before you can read your mail. Also, on unreliable connections, it is sometimes impossible to download your email when someone sends you a large email if the long download aborts. Using poppy you can read just the headers to see which are important and then read the interesting ones and possible delete any exsessively large ones. You can then later use your main mail program to download the bulk of email during idle computer use.

And lastly, you can create simple replies to the original author of the email if you have defined an SMTP host to be used to relay the message. Poppy can even use a different From address for each mail account you have.

poppy is a very simple program written in perl(1) and is easily modified. Note that you must have perl Version 4 or higher installed on your system to use this verion of poppy.

OPTIONS
After a message header is displayed you are given the following options

[V]iew message
    Display the current message, using $PAGER if defined in your enviornment.

[T]op of message
    Display a specified number of lines from top of the message. Note: all of the message header will be displayed even if less than the number of lines in the header are requested. If a value is not present with the command then it will be prompted for.

[D]elete message
    Delete the current message from server. You may optionally specify a range of messages to delete by adding the range to the option (example: "D 1-4").

[S]ave message
    Save/Append current message to a specified file in standard unix mailbox format. If a filename is not specified after the command then it will be prompted for. If the user specifies a filename of "!" then poppy will save the message to th filename as set by POPPY_MBOX environment variable or the mbox line in the configuration file.

[N]ext message
    Skip to the next message on the server.

[P]revious message
    Go to the previous message on the server.

[G]o to a message
    Allows you to jump to a different message. If message number is not specified along with this option (example: "G 2") then it will be prompted for.

[R]eply
    Send a reply back to the author of the current message.

[A]bort
    Quit and do not delete any previous messages from the POP3/IMAP server. Note that on IMAP servers other mail programs could have marked messages to be deleted but didn't actually use the Purge command to delete them. Using the [A]bort function in poppy will cause these messages to be unmarked for deletion.

[Q]uit
    Quit program and possibly delete all specified messages from POP3/IMAP server.

[Enter]
    Go to next message on the server.

[-] Go to the previous message on the server.

[|] Pipe the current message to an external program specifed after the pipe option (example: "| more").

[!] Shell to an external program. If no parameters are given with the option then it runs a shell program. If parameters are given then it attempts to execute the parameters.

The following Command Line options are supports.

-a  Work with all messages. Overrides the -g option.

-c name
    Use specified configuration filename instead of the default.

-f  Enter "From" Mode. Display all messages From and Subject fields. Similar to the unix command "from". This command can be used along with the "-g" option to display a short listing of all your new email or with the "-a" option to display all of your email headers.

-g  Goto first new message at startup. Not all POP3 servers support tracking the last read message.

-h  Print short help message

-l  Display Long Mail Headers.

-s  Display Short Mail Headers.

-v  Verbose Mode. Print out debuging messages

-q  Quiet Mode. Print out less messages then usual.

server_name
    The full name or a substring to search for in your .poppyrc file. If found, it will log in to this server to read mail. If no server_name is specified then poppy will log in to the first server listed in your the .poppyrc file.

user_name@server_name
    A combination of the user name and server name to search for in your .poppyrc file. This is useful if you have multiple user accounts on a single mail server. Substrings can still be used for the server name.

FILES

~/.poppyrc
    Per user configuration file. This file contains multiple lines of data, each starting with a keyword and followed by parameters. There must be at least one line that contains the POP3 or IMAP keyword.

The format of the pop and imap keyword lines are as follows:

pop server_name server_port login_name password

imap server_name server_port login_name password
    server_name is the name of the host from which mail is to be retrieved. This machine must be running a pop3 or imap daemon. server_port is the port number of the server port of the POP3/IMAP service on this host, and is typically port 110 for POP3 or 143 for IMAP. login login name used on server. password password on the server. If password is left of the line then poppy will prompt the user each time it is ran. The password may contain spaces.

smtp smtp_host smtp_port email_address server_name user
    smtp_host is the hostname of the SMTP host. smtp_port is the port address of the SMTP host. It is almost always port 25. email_address is the address to use for all outgoing emails on this SMTP host. server_name user is the server name and user name of the POP3 or IMAP server associated with this STMP host. It is valid to have one stmp line that does not include the server_name and user it associated with. This will be used as a default SMTP server for accounts that do not specifically associate an SMTP server with it. If the server_name and user field is left off then it must be the last smtp line in the configuration file.

editor program
    program is the name of the editor to run with creating email messages to send.

pager program
    program is the name of the pager program to use when view emails.

shell program
    program is the external program to run when the command is used.

mbox filename
    Default filename to use when saving messages and the user specifies "!"

gonew
    Add this keyword with no parameters when you would like to start up poppy by default to start at new messages.

You may have multiple lines containing the pop or imap keyword if you need to access multiple mail servers.

You may have multiple lines containing the smtp keyword to associate a different SMTP server and From address for each POP3 or IMAP account. A line containing just a default SMTP server and From address is also valid. If you have multiple connections to the internet it is suggested to create multiple .poppyrc files to get around firewall problems associated with SMTP servers.

Since it contains sensitive data, ~/.poppyrc must have permissions 600 (chmod 600 ~/.poppyrc). poppy will complain and exit if ~/.poppyrc has the wrong permissions.

If the file ~/.poppyrc does not exist poppy will prompt for the host, port and login information interactively and then save this data to ~./poppyrc.

Note that under Win95/NT, you may wish to use a different name than ~/.poppyrc as your configuration file. This is changable inside the poppy script.

ENVIROMENT

PAGER
    If set it will use this program to view mail messages. It can also be defined inside the script.

EDITOR
    If set it will use this program when creating email messages.

SHELL
    If set it will use this program as the default to run when a user uses the shell command ("!").

POPPY_MBOX
    Default filename to be used when saving messages and user specifies "!".

AUTHORS
Chris Bagwell (cbagwell@sprynet.com)

SEE ALSO
The POP3 protocol is documented in RFC 1939 and the IMAP protocol is documented in RFC 1730. SMTP protocol is documented in RFC821.