PHPackages                             ehaerer/php-fetch-mail - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. ehaerer/php-fetch-mail

ActiveProject[File &amp; Storage](/categories/file-storage)

ehaerer/php-fetch-mail
======================

PHP-library to fetch e-mails from an SMTP mailbox to store the e-mail and attachment(s).

1.0.4(2y ago)031MITPHPPHP ^7.4 || ^8.0

Since Jun 24Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Kephson/php-fetch-mail)[ Packagist](https://packagist.org/packages/ehaerer/php-fetch-mail)[ RSS](/packages/ehaerer-php-fetch-mail/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)DependenciesVersions (7)Used By (0)

PHP fetch mail
==============

[](#php-fetch-mail)

PHP-library to fetch e-mails from an SMTP mailbox to store the e-mail and attachment(s). It's based on  and extended with the option to use it via command line .

> This script allows to fetch e-mails from a mailbox via PHP IMAP functions. It reads the mails and write them to .eml-files and also writes the attachments if some exist.

The following PHP extensions are needed to run the project:

- ext-json
- ext-simplexml
- ext-imap
- ext-mbstring
- ext-iconv

The installation with the package manager [Composer](https://getcomposer.org/) is recommended.

Install it with **composer require ehaerer/php-fetch-mail**.

1 Features
----------

[](#1-features)

- Use it via commandline
- Use it via webserver

2 Usage
-------

[](#2-usage)

### 2.1 Minimal setup

[](#21-minimal-setup)

#### Create config file

[](#create-config-file)

Copy the file config.sample.php within the /login folder to /login/config.php and add the credentials for your mailbox.

### 2.2 Execute

[](#22-execute)

#### Execute via command line

[](#execute-via-command-line)

On Windows you can execute the script via commandline with PHP .exe build files:

```
C:\mypath-to-php\php-7.4.15\php.exe -e -c C:\mypath-to-php\php-7.4.15\php.ini C:\mypath-to-fetch-mail\fetch-mail\public\index.php --inputDir "C:\mypath-to-input-dir\fetch-mail\public\input\" --credentials 0 --allowedFileExt pdf  --saveToFile 1

```

Possible arguments via commandline:

---

```
--inputDir "C:\mypath-to-input-dir\fetch-mail\public\input\"

```

Full path to the input directory where to write the .eml files and attachments.

---

```
--limit 10

```

The limit of files to read from mailbox. Default is 100.

---

```
--credentials key

```

The key of the credentials to read from config.php file. It is possible to define multiple credentials there.

---

```
--allowedFileExt pdf,csv,txt

```

The file extensions of allowed file types.

---

```
--saveToFile 0

```

Save email to eml file or not, could be 0 or 1; default is 1.

---

```
--delete 0

```

Delete email after reading it from server, could be 0 or 1; default is 0.

---

```
--mailTargetFolder "INBOX/Processed"

```

Move email after reading it from server to this destination folder on server, e.g. to "INBOX/Processed".

---

```
--attachmentsRequired 1

```

If set, only mails with the attachments defined in allowedFileExt will be processed; could be 0 or 1; default is 0.

---

#### Execute via webserver, e.g. ddev

[](#execute-via-webserver-eg-ddev)

Use a local development environment like [ddev local](https://github.com/drud/ddev/) to use a local webserver.

Point your webserver to the public folder (a ddev configuration is still in the project).

Run the local URL  e.g. with ddev.

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~101 days

Recently: every ~126 days

Total

6

Last Release

919d ago

Major Versions

0.5.0-beta → 1.0.02022-06-24

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2724872?v=4)[Ephraim Härer](/maintainers/Kephson)[@Kephson](https://github.com/Kephson)

---

Top Contributors

[![Kephson](https://avatars.githubusercontent.com/u/2724872?v=4)](https://github.com/Kephson "Kephson (14 commits)")

### Embed Badge

![Health badge](/badges/ehaerer-php-fetch-mail/health.svg)

```
[![Health](https://phpackages.com/badges/ehaerer-php-fetch-mail/health.svg)](https://phpackages.com/packages/ehaerer-php-fetch-mail)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M125](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
