Giter Site home page Giter Site logo

smtputt's Introduction

SMTPutt

Tests

Installation

Linux/*BSD

SMTPutt looks for its configuration first in ~smtputt/.smtputt.ini, then in /etc/smtputt.ini.

Windows (as a Service)

Before the SMTPutt service may be used, the pywin32 module must be installed manually, and a valid configuration must exist in %site-packages%\smtputt\svc\smtputt.ini (e.g. c:\python3\site-packages\smtputt\svc\smtputt.ini).

To install and configure pywin32 and SMTPutt:

  • pip install pywin32
  • [path to python dir]\scripts\pywin32_postinstall.py -install
  • python -m smtputt.svc install

Configuration

Configuration is stored in an ini file, with the following sections:

[server]

  • listenhost (optional, default 0.0.0.0)

    Local address on which SMTPutt should listen for incoming messages.

  • listenport (optional, default 25)

    Local port on which SMTPutt should listen for incoming messages.

  • fixermodules (optional)

    Module paths for modules which will be applied to "fix" any mail passing through the SMTPutt relay.

  • relaymodules (optional)

    Modules which will be used to relay incoming mail. SMTPutt is rather useless without any relay modules.

  • authmodules (optional)

    Module paths for modules used to authorize sending mail through the SMTPutt relay. Modules will be tried in order until one succeeds.

  • authrequired (optional, default False)

    Whether authorization is required to send mail through the SMTPutt relay.

  • mynetworks (optional, default 127.0.0.1)

    A comma-separated list of network addresses (in CIDR form e.g. 0.0.0.0/0) from which the server should accept mail.

Individual module configurations should be placed in the ini file under a section named for their module path. e.g. configuration for smtputt.authorizers.ldap should go in a section named [smtputt.authorizers.ldap].

Authorizers

The following are authorizers that may be specified in the authmodule= line in the configuration file.

smtputt.authorizers.ldap

This authorizer attempts to simply bind to an LDAP server provided with the credentials provided to the SMTP server.

Configuration

  • ldapurl

    A URL indicating the remote LDAP host to use in the form of ldap://ldap-server:port. To use TLS, replace "ldap://" with "ldaps://".

  • ldapdnformat

    DN format to use for usernames to bind to LDAP server. %u is replaced with the username provided to the SMTP server.

  • ldapssl (optional, default false)

    'true' if TLS should be used to connect to LDAP server, otherwise 'false'.

smtputt.authorizers.dictauth

This authorizer compares the username and password to a static dictionary provided in the configuration.

Configuration

  • authdict

    Dictionary of users in the format user1:password1,user2:password2

Relays

smtputt.relays.smtp

Configuration

  • smtpurl

    A URL indicating the remote SMTP relay host to use in the form of smtp://username:password@smtp-server:port. To use TLS, replace "smtp://" with "smtps://". If port is omitted, port 25 will be used automatically.

smtputt.relays.mqtt

Configuration

  • mqttserver

    Address of the MQTT server SMTPutt should publish received messages to.

  • mqttport

    MQTT port on the remote server.

  • mqttuid

    UID to use on the remote server. This will have a random string appended to it, to facilitate multiple connections.

  • mqttssl (optional, default 'false')

    'true' if TLS should be used to connect to the MQTT server, 'false otherwise.

  • mqttca (optional, required if mqttssl is 'true')

    Local filesystem path to a root certificate used to validate MQTT server certificate.

  • mqtttopic

    Topic to publish received messages to. Uses the replacement tokens below:

Token Replacement
%s Message subject
%t Message To: address
%f Message From: address

Fixers

smtputt.fixers.fromdate

Configuration

smtputt.fixers.fromaddress

Configuration

  • fromaddress

    E-mail address which should replace the From: address on messages forwarded through SMTPutt.

smtputt's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

smtputt's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.