All Projects → devture → exim-relay

devture / exim-relay

Licence: Apache-2.0 License
🐳 A lightweight non-root Docker image for an Exim mail relay, based on Alpine Linux.

Programming Languages

Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to exim-relay

Networkteam.Neos.MailObfuscator
Email address obfuscation for Neos CMS
Stars: ✭ 13 (+0%)
Mutual labels:  email
SimpleKeylogger
Simple Keylogger with smtp to send emails on your account using python works on linux and Windows
Stars: ✭ 32 (+146.15%)
Mutual labels:  email
ioBroker.backitup
Backitup enables the cyclical creation of backups of an IoBroker / Homematic installation
Stars: ✭ 43 (+230.77%)
Mutual labels:  email
extract-email-address
Extracts email address from an arbitrary text input.
Stars: ✭ 45 (+246.15%)
Mutual labels:  email
elixir-sparkpost
SparkPost client library for Elixir https://developers.sparkpost.com
Stars: ✭ 43 (+230.77%)
Mutual labels:  email
mjml-starter-kit
MJML starter kit, create responsive emails very quickly using MJML and this productive toolchain
Stars: ✭ 35 (+169.23%)
Mutual labels:  email
carbon
Email library for Crystal. Testable, adapter-based, and catches bugs for you. Comes with an adapter for SendGrid.
Stars: ✭ 71 (+446.15%)
Mutual labels:  email
twmail
Mail new tasks to your TaskWarrior inbox
Stars: ✭ 16 (+23.08%)
Mutual labels:  email
is-biz-mail-php
isBizMail tells you whether a given email address belongs to a free email account provider (gmail.com, yahoo.es, yandex.ru etc) or not.
Stars: ✭ 19 (+46.15%)
Mutual labels:  email
bulletproof-email
A Gulp workflow for maintainable email templates
Stars: ✭ 71 (+446.15%)
Mutual labels:  email
django-contact-form
A Django-powered contact form
Stars: ✭ 15 (+15.38%)
Mutual labels:  email
mailtrap
MailTrap has been renamed to Sendria. Please use Sendria now, MailTrap is abandoned. 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: ✭ 14 (+7.69%)
Mutual labels:  email
serverless-forms
NodeJS app to send form submissions by email
Stars: ✭ 22 (+69.23%)
Mutual labels:  email
alfred-mailto
Send emails to recipients and groups from Alfred
Stars: ✭ 59 (+353.85%)
Mutual labels:  email
NeverBounceAPI-PHP
This package provides convenient methods to integrate the NeverBounce API into your project.
Stars: ✭ 22 (+69.23%)
Mutual labels:  email
muil
Muil is a framework to build, maintain and manage dynamic templates using React and tools you know and love
Stars: ✭ 26 (+100%)
Mutual labels:  email
tmail
A throwaway smtp server with API
Stars: ✭ 13 (+0%)
Mutual labels:  email
go
Monorepo for small Go modules maintained by Tawesoft
Stars: ✭ 16 (+23.08%)
Mutual labels:  email
himalaya
Command-line interface for email management
Stars: ✭ 1,715 (+13092.31%)
Mutual labels:  email
hugo-cloak-email
A Hugo theme component to cloak email adresses
Stars: ✭ 71 (+446.15%)
Mutual labels:  email

Docker Exim Relay Image

License GitHub Tag Docker Pulls

A lightweight Docker image for an Exim mail relay, based on the official Alpine image.

For extra security, the container runs as exim (uid=100 and gid=101), not root.

This is a fork of Industrie&Co's wonderful (but seemingly unmaintained) industrieco/docker-exim-relay image. The following changes have been done on top of it:

  • based on a newer Alpine release (and thus, newer exim)

  • removing Received headers for mail received by exim (helps email deliverability)

Docker

Default setup

This will allow relay from all private address ranges and will relay directly to the internet receiving mail servers

docker run \
       --user=100:101 \
       --name smtp \
       --restart always \
       -e HOSTNAME=my.host.name \
       -d \
       -p 25:8025 \
       docker.io/devture/exim-relay:SOME_TAGGED_RELEASE

Note: we advise setting the hostname using a HOSTNAME environment variable, instead of --hostname. Since Docker 20.10, the latter has the side-effect of making other services on the same Docker network resolve said hostname to the in-container IP address of the mailer container. If you'd rather this hostname resolves to the actual public IP address, avoid using --hostname.

Smarthost setup

To send forward outgoing email to a smart relay host

docker run \
       --user=100:101 \
       --name smtp \
       --restart always \
       -d \
       -p 25:8025 \
       -e HOSTNAME=my.host.name \
       -e SMARTHOST=some.relayhost.name::587 \
       -e SMTP_USERNAME=someuser \
       -e SMTP_PASSWORD=password \
       docker.io/devture/exim-relay:SOME_TAGGED_RELEASE

Docker Compose

version: "3.7"

services:
  smtp:
    image: docker.io/devture/exim-relay:SOME_TAGGED_RELEASE
    user: 100:101
    restart: always
    ports:
      - "25:8025"
    environment:
      HOSTNAME: my.host.name
      SMARTHOST: some.relayhost.name::587
      SMTP_USERNAME: someuser
      SMTP_PASSWORD: password

Other Variables

HOSTNAME
  • The hostname that is sent as part of the HELO message.
LOCAL_DOMAINS
  • List (colon separated) of domains that are delivered to the local machine
  • Defaults to the hostname of the local machine
  • Set blank to have no mail delivered locally
RELAY_FROM_HOSTS
  • A list (colon separated) of subnets to allow relay from
  • Set to "*" to allow any host to relay - use this with RELAY_TO_DOMAINS to allow any client to relay to a list of domains
  • Defaults to private address ranges: 10.0.0.0/8:172.16.0.0/12:192.168.0.0/16
RELAY_TO_DOMAINS
  • A list (colon separated) of domains to allow relay to
  • Defaults to "*" to allow relaying to all domains
  • Setting both RELAY_FROM_HOSTS and RELAY_TO_DOMAINS to "*" will make this an open relay
  • Setting both RELAY_FROM_HOSTS and RELAY_TO_DOMAINS to other values will limit which clients can send and who they can send to
RELAY_TO_USERS
  • A whitelist (colon separated) of recipient email addresses to allow relay to
  • This list is processed in addition to the domains in RELAY_TO_DOMAINS
  • Use this for more precise whitelisting of relayable mail
  • Defaults to "" which doesn't whitelist any addresses
DISABLE_SENDER_VERIFICATION

If the environment variable is set, sender address verification will be disabled.

SMARTHOST
  • A relay host to forward all non-local email through
SMTP_USERNAME
  • The username for authentication to the smarthost
SMTP_PASSWORD
  • The password for authentication to the smarthost - leave this blank to disable authenticaion

Docker Secrets

The smarthost password can also be supplied via docker swarm secrets / rancher secrets. Create a secret called SMTP_PASSWORD and don't use the SMTP_PASSWORD environment variable

Debugging

The logs are sent to /dev/stdout and /dev/stderr and can be viewed via docker logs

docker logs smtp
docker logs -f smtp

Exim commands can be run to check the status of the mail server as well

docker exec -ti smtp exim -bp
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].