#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 19. Mail/News Clients

- Prev

  Mail/News Clients

- Next

  mailx-12.5

- Up
- Home

# Fetchmail-6.4.27

## Introduction to Fetchmail

The Fetchmail package contains a mail retrieval program. It retrieves mail from remote mail servers and forwards it to the local (client) machine's delivery system, so it can then be read by normal mail user agents.

This package is known to build and work properly using an LFS-11.1 platform.

### Package Information

- Download (HTTP): https://downloads.sourceforge.net/fetchmail/fetchmail-6.4.27.tar.xz

- Download MD5 sum: fbeab300ed54b973066d651132e80592

- Download size: 1.3 MB

- Estimated disk space required: 17 MB including tests

- Estimated build time: 0.1 SBU including tests

### Fetchmail Dependencies

#### Recommended

a local MDA (Procmail-3.22)

#### Optional

MIT Kerberos V5-1.19.2 and libgssapi

#### Optional (for running fetchmailconf)

Python-3.10.2, built after Tk-8.6.12, with the py-future package

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/fetchmail

## Installation of Fetchmail

Create a dedicated user for the fetchmail program. Issue the following commands as the `root` user:

    useradd -c "Fetchmail User" -d /dev/null -g nogroup \
            -s /bin/false -u 38 fetchmail

Install Fetchmail by running the following commands:

    PYTHON=python3 \
    ./configure --prefix=/usr \
                --enable-fallback=procmail &&
    make

To test the results, issue: make check.

Now, as the `root` user:

    make install                                  &&
    chown -v fetchmail:nogroup /usr/bin/fetchmail

## Command Explanations

`PYTHON=python3`: a version of Python is required, but only used to install a module to allow fetchmailconf to be run. That module is unmaintained and should not be used.

`--enable-fallback=procmail`: This tells Fetchmail to hand incoming mail to Procmail for delivery, if the port 25 mail server is not present or not responding.

## Configuring Fetchmail

###

#### Config Files

`~/.fetchmailrc`

###

#### Configuration Information

### Note

If you are connecting to a mailserver that supports SSL/TLS-wrapped or "implicit" mode on a dedicated port (default 993) you should use fetchmail --ssl or add the option 'ssl' in an rcfile.

    cat > ~/.fetchmailrc << "EOF"

    # The logfile needs to exist when fetchmail is invoked, otherwise it will
    # dump the details to the screen. As with all logs, you will need to rotate
    # or clear it from time to time.
    set logfile fetchmail.log
    set no bouncemail
    # You probably want to set your local username as the postmaster
    set postmaster <username>

    poll SERVERNAME :
        user <isp_username> pass <password>;
        mda "/usr/bin/procmail -f %F -d %T";
    EOF

    touch ~/fetchmail.log       &&
    chmod -v 0600 ~/.fetchmailrc

This is an example configuration that should suffice for most people. You can add as many users and servers as you need using the same syntax.

man fetchmail: Look for the section near the bottom named CONFIGURATION EXAMPLES. It gives some quick examples. There are countless other configuration options once you get used to it.

If you expect to receive very little mail you can invoke fetchmail when you wish to receive any incoming mail. More commonly, it is either invoked in daemon mode with the `-d` option either on the command line, or in `.fetchmailrc` (see 'DAEMON MODE' in man fetchmailconf), or alternatively it is invoked from a cron job.

## Contents

Installed Programs: fetchmail and fetchmailconf
Installed Libraries: None
Installed Directories: None

### Short Descriptions

fetchmail | when executed as a user, this will source `~/.fetchmailrc` and download the appropriate mail
fetchmailconf | is intended to assist you in setting up and editing a `~/.fetchmailrc` configuration file, by using a Tk GUI interface. It is written for Python and the Tkinter module but is labelled with a WARNING that it needs to be updated for fetchmail 6.4's SSL options and other recent new options

Last updated on

- Prev

  Mail/News Clients

- Next

  mailx-12.5

- Up
- Home