---
name: "ftpmail"
section: "1"
platform: "linux"
package: "proftpd-core"
version: "1.3.8.c+dfsg-4+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ftpmail"
---

# ftpmail(1)

FIFO-based Perl script for sending email based on proftpd TransferLog

## NAME

ftpmail - FIFO-based Perl script for sending email based on proftpd TransferLog

## SYNOPSIS

**ftpmail** \[ **--help** \] \[ **--fifo** *fifo-path* \] \[ **--from** *email-address* \] \[ **--log** *xferlog-file* \] \[ **--recipient** *email-address* \] \[ **--subject** *email-subject* \] \[ **--smtp-server** *server-address* \] \[ **--attach-file** \] \[ **--auth** *smtp-auth-info-file* \] \[ **--ignore-users** *regex-pattern* \] \[ **--watch-users** *regex-pattern* \]

## DESCRIPTION

**ftpmail** is a Perl script designed to read ProFTPD's *TransferLog* log entries, watching for uploads, and to send an automatic email notification when uploads occur.  To use **ftpmail** , you configure your **proftpd** daemon to write its *TransferLog* to a FIFO; the **ftpmail** program is a FIFO reading program which then processes those log messages.

## OPTIONS

- **--help**

  Display a short usage description, including all available options.

- **--attach-file**

  If used, this will cause a copy of the uploaded file to be included, as an attachment, in the generated email.

- **--auth** *smtp-auth-info-file*

  Configures the path to a file containing SMTP authentication information. The configured file should look like this:

  - **user**

    username

  - **password**

    password

- **--fifo** *fifo-path*

  Indicates the path to the FIFO to which **proftpd** is writing its **TransferLog**.  That is, this is the path that you used for the **TransferLog** directive in your *proftpd.conf*.  This parameter is **REQUIRED.**

- **--from** *email-address*

  Specifies the email address to use in the *From* email header.  This parameter is **REQUIRED.**

- **--ignore-users** *regex-pattern*

  Specifies a Perl regular expression.  If the uploading user name matches this regular expression, then an email notification is **NOT** sent; otherwise, an email is sent.

- **--log** *xferlog-path*

  Since this script reads the **TransferLog** using FIFOs, the actual **TransferLog** file is not written by default.  Use this option to write the normal **TransferLog** file, in addition to watching for uploads.

- **--recipient** *email-address*

  Specifies an email address to which to send an email notification of the upload. This option can be used multiple times to specify multiple recipients. **AT LEAST ONE** recipient is **REQUIRED.**

- **--smtp-server** *server-address*

  Specifies the SMTP server to which to send the email.  This parameter is **REQUIRED.**

- **--subject** *subject*

  Specify a custom *Subject* email header for the email sent.  The default *Subject* is:

  - User '*$user*' uploaded file '*$file*' via FTP

    - **--watch-users** *regex-pattern*

  Specifies a Perl regular expression.  If the uploading user name matches this regular expression, then an email notification is sent; otherwise, no email is sent.

## FILES

**/var/log/xferlog**

## AUTHORS

ProFTPD is written and maintained by a number of people, full credits can be found on **http://www.proftpd.org/credits.html**

## SEE ALSO

**[proftpd(8)](/proftpd/8.md),** **[xferlog(5)](/xferlog/5.md)**

Full documentation on ProFTPD, including configuration and FAQs, is available at **http://www.proftpd.org/**

For help/support, try the ProFTPD mailing lists, detailed on **http://www.proftpd.org/lists.html**

Report bugs at **http://bugs.proftpd.org/**
