All Projects â†’ micc83 â†’ mailamie

micc83 / mailamie

Licence: MIT license
🌈 Mailamie is a simple SMTP catch all server for testing written in PHP.

Programming Languages

PHP
23972 projects - #3 most used programming language
Vue
7211 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to mailamie

Netdumbster
netDumbster is a .Net Fake SMTP Server clone of the popular Dumbster
Stars: ✭ 88 (+20.55%)
Mutual labels:  smtp-server
Aiosmtpd
A reimplementation of the Python stdlib smtpd.py based on asyncio.
Stars: ✭ 195 (+167.12%)
Mutual labels:  smtp-server
PyEmailer
Send Emails In One Click With Python.
Stars: ✭ 29 (-60.27%)
Mutual labels:  smtp-server
Papercut Smtp
Papercut SMTP -- The Simple Desktop Email Server
Stars: ✭ 2,094 (+2768.49%)
Mutual labels:  smtp-server
Mailproxy
mailproxy is a simple SMTP proxy. It receives emails through an unencrypted, unauthenticated SMTP interface and retransmits them through a remote SMTP server that requires modern features such as encryption and/or authentication. mailproxy is primarily useful for enabling email functionality in legacy software that only supports plain SMTP.
Stars: ✭ 170 (+132.88%)
Mutual labels:  smtp-server
Tmail
Golang SMTP server
Stars: ✭ 251 (+243.84%)
Mutual labels:  smtp-server
Sendria
Sendria (formerly MailTrap) is a SMTP server designed to run in your dev/test environment, that is designed to catch any email you or your application is sending, and display it in a web interface instead of sending to real world.
Stars: ✭ 30 (-58.9%)
Mutual labels:  smtp-server
blackhole
Blackhole is an MTA written on top of asyncio, utilising async and await statements that dumps all mail it receives to /dev/null.
Stars: ✭ 61 (-16.44%)
Mutual labels:  smtp-server
Smtpd
A Lightweight High Performance ESMTP email server
Stars: ✭ 175 (+139.73%)
Mutual labels:  smtp-server
ControlCenter
Mirrored from GitLab! Monitoring and automation for Open Source email servers, starting with Postfix. Please do not submit issues or PRs here - join us at: https://gitlab.com/lightmeter
Stars: ✭ 88 (+20.55%)
Mutual labels:  smtp-server
Go Guerrilla
Mini SMTP server written in golang
Stars: ✭ 2,173 (+2876.71%)
Mutual labels:  smtp-server
Docker Postfix
Simple SMTP server / postfix null relay host for your Docker and Kubernetes containers. Based on Alpine Linux.
Stars: ✭ 163 (+123.29%)
Mutual labels:  smtp-server
smtprelay
Simple Golang SMTP relay/proxy server
Stars: ✭ 270 (+269.86%)
Mutual labels:  smtp-server
Maildroid
Maildroid is a small robust android library for sending emails using SMTP server
Stars: ✭ 150 (+105.48%)
Mutual labels:  smtp-server
MailDemon
Smtp server for mass emailing, managing email lists and more. Built on .NET Core. Linux, MAC and Windows compatible.
Stars: ✭ 113 (+54.79%)
Mutual labels:  smtp-server
Smtp4dev
smtp4dev - the fake smtp email server for development and testing
Stars: ✭ 1,226 (+1579.45%)
Mutual labels:  smtp-server
Magento 2 Smtp
Magento 2 SMTP Extension helps the owner of store simply install SMTP (Simple Mail Transfer Protocol) server which transmits the messages into codes or numbers.
Stars: ✭ 228 (+212.33%)
Mutual labels:  smtp-server
sarlacc
SMTP server / sinkhole for collecting spam
Stars: ✭ 42 (-42.47%)
Mutual labels:  smtp-server
SimpleKotlinMail
A simple, coroutine based Kotlin Email API for both client- and server-side projects
Stars: ✭ 56 (-23.29%)
Mutual labels:  smtp-server
go-smtp-mock
SMTP mock server written on Golang. Mimic any 📤 SMTP server behavior for your test environment with fake SMTP server.
Stars: ✭ 76 (+4.11%)
Mutual labels:  smtp-server

SWUbanner

Mailamie

Catch All SMTP Server for testing

Tests PHP CS Fixer PHPStan codecov

Index

Why

Sometime you just need a simple tool to verify that some legacy project, without tests in place or with some very complex environment, sends the right emails to the right people. Surely there're many valid tools out there for the job but as it's not something happening every day it's pretty cumbersome having to install these tools.

Mailamie is a side project I've put up in my summer vacations for playing with async PHP. Using it is as simple as setting a few parameters on your project:

# Ex. Laravel .env file
MAIL_MAILER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=8025
MAIL_ENCRYPTION=null

and running it with the command:

$ mailamie

How

Mailamie is a pretty simple Catch All SMTP Server for local testing completely written in PHP and based on the great work made by the folks at ReactPhp.

It's in no way a replacement for more complete tools such as Mailhog as it doesn't actually check SMTP implementantion details, instead it only cares about getting emails headers and body for high level delivery testing.

DO NOT USE IN PRODUCTION. Mailamie starts three different servers (SMTP on port 8025, HTTP on port 8080, WebSocket on port 1338). No steps have been taken to secure any of the three. Also, external access to those ports should be blocked.

Mailamie can be used directly from the CLI:

or, for better UX, in the browser:

Install

Mailamie requires PHP ^7.4. To install it globally on your system run the following command to install:

composer global require micc83/mailamie

Usage

Run the following command to get help:

mailamie --help

The output will be:

Description:
  Mailamie is catch all SMTP server for testing.

Usage:
  mailamie [options]
  mailamie --host=127.0.0.1 --port=25    Ex. SMTP Host definition

Options:
  -H, --host=HOST       Set the host on which to listen for calls
  -p, --port=PORT       Set the port on which to listen for SMTP calls
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Help:
  You can define custom configuration from the file ~/.mailamie.config.php,
  check the project readme file at https://github.com/micc83/mailamie
  for all the available settings.

Settings

You can define default settings in ~/.mailamie.config.php, in order to do so run:

$ touch ~/.mailamie.config.php && vim ~/.mailamie.config.php

This files returns a PHP array with the following available settings.

<?php

return [
    'smtp' => [
        'host' => '127.0.0.1',
        'port' => '8025'
    ],

    'http' => [
        'host' => '127.0.0.1',
        'port' => '8080'
    ],

    'websocket' => [
        'host' => '127.0.0.1',
        'port' => '1338'
    ],
];

You'd better define only the needed ones, in case something should change after upgrades.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].