UNPKG

postmailer

Version:

HTTP POST -> SMTP proxy, as Express middleware

95 lines (80 loc) 4.2 kB
<html> <head> <title>POST for {{name}}</title> <style> body { max-width: 800px; margin: auto; font-family: 'Open Sans', Tahoma; font-size: 11pt; color: #111; } h1 { font-size: 1.5em; margin: 0.5em 0; text-align: center; } h2 { font-size: 1.2em; margin: 1em 0em; } code { display: inline-block; padding: 0.3em 0.3em 0.1em 0.3em; background-color: #EEE; border-radius: 0.3em; font-family: Consolas, Monaco, 'Andale Mono', monospace; box-shadow: 0px 1px #DDD; } pre { margin: 0.5em 2em; padding: 0; font-size: inherit; } pre code { display: block; width: 100%; overflow: auto; } .cmd-option { color: #048; } .cmd-value { color: #800; } .cmd-value-file { color: #482; } </style> </head> <body data-url="{{url}}" data-ws-url="{{ws-url}}" data-name="{{name}}"> <h1>POST for <span class="self-name">{{name}}</span></h1> <p>This is an HTTP POST endpoint. Any text/document you POST to this URL will be received by the user.</p> <p>You must provide a <code>From:</code> header (borrowed from SMTP), and can include other mail headers as well.</p> <h2>Use with cURL:</h2> <p>To send a plain text message:</p> <pre><code>curl <span class="cmd-option">--data-binary</span> <span class="cmd-value">"Hello, world"</span> <span class="cmd-option">--header</span> <span class="cmd-value">"Content-Type: text/plain"</span> \ <span class="cmd-option">--header</span> <span class="cmd-value">"From: Somebody &lt;somebody@example.com&gt;"</span> \ <span class="cmd-argument"><span class="self-url">{{url}}</span></span></code></pre> <p>To send an inline picture:</p> <pre><code>curl <span class="cmd-option">--data-binary</span> <span class="cmd-value-file">@small-image.png</span> <span class="cmd-option">--header</span> <span class="cmd-value">"Content-Type: image/png"</span> \ <span class="cmd-option">--header</span> <span class="cmd-value">"From: Somebody &lt;somebody@example.com&gt;"</span> \ <span class="cmd-argument"><span class="self-url">{{url}}</span></span></code></pre> <p>To send a picture (or other document) as an attachment:</p> <pre><code>curl <span class="cmd-option">--data-binary</span> <span class="cmd-value-file">@large-image.jpg</span> <span class="cmd-option">--header</span> <span class="cmd-value">"Content-Type: image/jpeg"</span> \ <span class="cmd-option">--header</span> <span class="cmd-value">"Content-Disposition: attachment; filename=\"large-image.jpg\""</span> \ <span class="cmd-option">--header</span> <span class="cmd-value">"From: Somebody &lt;somebody@example.com&gt;"</span> \ <span class="cmd-argument"><span class="self-url">{{url}}</span></span></code></pre> <script> (function (document) { // Wrap so that minifying is more effective // Replace template values with JS so we can just use the template on its own var selfUrl = location.href.replace(/[?#].*/, ''); // Strip query and hash var selfUrlEscaped = selfUrl.replace(/&/g, '&amp;').replace(/</g, '&lt;'); var backupName = selfUrl.replace(/.*?:\/\//, ''); var backupNameEscaped = backupName.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/"/g, '&quot;'); document.title = document.title.replace(/\{\{name\}\}/g, backupName); document.body.innerHTML = document.body.innerHTML.replace(/\{\{url\}\}/g, selfUrlEscaped).replace(/\{\{name\}\}/g, backupNameEscaped); })(document); </script> </body> </html>