peehaa / mailgrab
Self contained mail catcher for debugging purposes
Installs: 31
Dependents: 0
Suggesters: 0
Security: 0
Stars: 94
Watchers: 8
Forks: 3
Open Issues: 7
Language:JavaScript
Type:project
Requires
- php: ^7.1
- amphp/http-server: ^0.8.1
- amphp/http-server-router: ^1.0
- amphp/http-server-static-content: dev-master
- amphp/log: ^1.0
- amphp/process: ^0.3.3
- amphp/socket: ^0.10.5
- amphp/websocket-server: dev-master
- myclabs/php-enum: ^1.5
- peehaa/amp-websocket-command: dev-master
- peehaa/array-path: ^1.0
- ramsey/uuid: ^3.7
- rdlowrey/auryn: ^1.4
- zbateson/mail-mime-parser: ^0.4.8
Requires (Dev)
- amphp/artax: ^3.0
- macfja/phar-builder: dev-handle-dot-notation-relative-paths
- phpmailer/phpmailer: ^6.0
- phpunit/phpunit: ^7.1.4
- slevomat/coding-standard: ^4.5
- squizlabs/php_codesniffer: ^3.2
- swiftmailer/swiftmailer: ^6.0
This package is auto-updated.
Last update: 2024-12-06 10:51:08 UTC
README
Catch-all SMTP server for local debugging purposes.
This SMTP server catches all e-mail being sent through it and provides an interface to inspect the e-mails.
Note: this SMTP server is meant to be run locally. As such several security considerations (e.g. SMTP transaction delays) have been omitted by design. Never run this project as a public service.
Project status
This project is currently working towards a first stable release version.
The master branch of this project will always be in a functioning state and will always point to the last release.
All active development should be based off the v0.4.0 branch.
Current limitations
- Currently the project only supports unauthenticated smtp requests (without
AUTH
command) - No persistent storage
- Because we currently only support in-memory storage the project may run out of memory when handling a lot of mails or mails with a lot attachments
Requirements
- PHP 7.1
Installation
Composer
composer create-project peehaa/mailgrab
Phar
Download the latest phar file from the releases page.
Usage
Composer
./bin/mailgrab
will start MailGrab using the default configuration:
- HTTP port: 9000
- SMTP port: 9025
See ./bin/mailgrab --help
for more configuration options
Once the MailGrab server is started you can point your browser to http://localhost:9000
to access the webinterface.
If you send a mail to the server over port 9025 it will automatically be displayed in the webinterface.
There are example mail scripts available under ./examples
(e.g. php examples/full-test.php
) which you can run to test the functionality.
Phar
/path/to/mailgrab.phar
will start MailGrab using the default configuration:
- HTTP port: 9000
- SMTP port: 9025
See /path/to/mailgrab.phar --help
for more configuration options
Build and development
NPM
To get started run npm install
.
An NPM build script is provided and can be used by running npm run build
in the project root.
Building phars
Currently all active development has to be based off the v0.4.0 branch.
If you want to build a phar you can run the build script located at ./bin/build
which will create a new build in the ./build
directory.