diff --git a/README.md b/README.md index ef9302f..aa90d8e 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,29 @@ Usage Begin listening for incoming SMTP messages, parse them, and post them to the specified HTTP endpoint. ```sh -smtp2http https://dev-services.zingle.me/inbound-communication/email +smtp2http https://example.com/foo ``` +### TLS Support Enable TLS using separate certificate and key files with signing CA cert. ```sh -CERT=/etc/private/ssl/zingle.crt -KEY=/etc/private/ssl/zingle.key -CA=/etc/private/ssl/zingle-ca.crt -smtp2http -T$CERT:$KEY:$CA https://dev-services.zingle.me/foo +CERT=/etc/private/ssl/example.com.crt +KEY=/etc/private/ssl/example.com.key +CA=/etc/private/ssl/example.com-ca.crt +smtp2http -T$CERT:$KEY:$CA https://example.com/foo +``` + +Enable TLS using cert and key files only. +```sh +CERT=/etc/private/ssl/example.com.crt +KEY=/etc/private/ssh/example.com.key +smtp2http -T$CERT:$KEY https://example.com/foo +``` + +Enable TLS using single PFX combined cert file. +```sh +CERT=/etc/private/ssl/example.com.pfx +smtp2http -T$CERT https://example.com/foo ``` Install @@ -24,3 +38,23 @@ git clone git@github.com:Zingle/smtp2http.git cd smtp2http npm install -g ``` + +Development +----------- +The SMTP protocol does not provide any way to set thc TCP port used for +communication. Because of this, development can be difficult if trying to +use public mail providers because you must have an internet facing server +listening on port 25. + +You can run something like the following to set up a reverse tunnel using +a public server to which you have SSH access. + +```sh +ssh -fNR 25:localhost:2025 root@example.com +SMTP_PORT=2025 smtp2http +``` + +In this example, `example.com` is the public server to which you have access, +`root` is a user with access to open low-numbered ports on that host, `25` is +the port this host will listen on (standard SMTP port), and `2025` is the port +`smtp2http` will listen on. diff --git a/smtp2http.js b/smtp2http.js index 77c1d32..fa108b6 100644 --- a/smtp2http.js +++ b/smtp2http.js @@ -87,5 +87,5 @@ smtp.createServer(serverOpts, function(req) { ack.accept(); }); -}).listen(process.env.NODE_PORT || 25); +}).listen(process.env.SMTP_PORT || 25);