Nethence Newdoc Olddoc Lab Your IP BBDock  


Warning: those guides are mostly obsolete, please have a look at the new documentation.

UnixWindowsOracleObsoleteHardwareDIYMechanicsScriptsConfigs

Getmail configuration
 
http://pbraun.nethence.com/doc/mail/fetchmail.html
http://pbraun.nethence.com/doc/mail/getmail.html
http://pbraun.nethence.com/doc/mail/procmail.html
 
 
Getmail v4 installation
Make sure Python is installed,
rpm -q python
which python
 
As root, download, compile and install getmail (http://pyropus.ca/software/getmail/),
wget http://pyropus.ca/software/getmail/old-versions/getmail-4.20.0.tar.gz
tar xzf getmail-4.20.0.tar.gz
cd getmail-4.20.0
python setup.py build
python setup.py install
 
 
Getmail v4 configuration
As user, edit the configuration,
cd ~/
mkdir -p .getmail
cd .getmail
vi getmailrc
note. ~/.getmail/account_name alernatively
for example,
[options]
delivered_to = 0
received = 0
read_all = 0
message_log_syslog = 1
message_log_verbose = 0
 
verbose = 1
delete = 0
#delete messages 15 days after first seeing them,
#delete_after = 15
 
 
[retriever]
type = SimplePOP3Retriever
server = POP3SRV
username = LOGIN
password = PASSWORD
 
[destination]
type = MDA_external
path = /usr/bin/procmail
arguments = ("-f", "%(sender)")
unixfrom = 1
note. 'delivered_to' and 'received' disabled to prevent getmail from adding its lines to the messages
note. 'read_all' disabled not to download the same message over again at each retrieval
note. if prefer to centralize the logs with syslog. But if you like,
#message_log = ~/.getmail/getmailrc.log
note. eventually change procmail's path
note. to ingnore message's Content-Length field add this argument to procmail,
"-Y",
note. if using alternate procmailrc files (other than ~/.procmailrc) add e.g. that at the end,
"-m", "/etc/procmailrc.mailuser"
note. if you need to switch user & group before delivering the messages (you need to be root for that),
#user = fred
#group = mail
 
Fix the perms,
cd ~/.getmail
chmod 600 getmailrc
#chmod account_name
 
 
Usage
Make sure procmail is configured and call getmail to fetch the messages,
getmail
Note. '-v' to force verbose output
Note. 'getmail -r account_name' alternatively
 
Once everything works, you may erase the previous downloads and finish up the configuration, making getmail more silent and delete the mail after 15 days,
cd ~/.getmail
vi getmailrc
change,
verbose = 0
delete = 0
#delete messages 15 days after first seeing them,
delete_after = 15
 
 
Automation
Two solutions depending on your needs.
 
Server needs
Make it happen periorically,
crontab -e
add e.g.,
*/5 * * * * /usr/bin/getmail
 
Workstation needs
For workstation usage, it's useless to look for messages all the time if you're not there. Use this script instead,
vi ~/bin/getmail.ksh
like e.g.,
#!/bin/ksh
set -e
while true; do
  date
  getmail -v
  #-r account_name
  sleep 60
done
fix perms,
chmod +x getmail.ksh
Note. eventually keep this in a screen window,
(screen) ^A c
Note. or use nohup and kill the process when quitting,
nohup getmail.ksh > /dev/null
#pkill or kill when you leave
 
 
References
http://pyropus.ca/software/getmail/configuration.html#conf-options
http://pyropus.ca/software/getmail/faq.html
http://www.ososo.de/filtergetmail/
http://en.gentoo-wiki.com/wiki/Getmail
 
FDM
http://blog.etoilebsd.net/tag/fdm
http://wiki.archlinux.org/index.php/Fdm
 
Animail
http://animail.sourceforge.net/
 

(obsolete, see the new doc)