* Update Email.send docs to show how to add header objects
Recent versions of `mailcomposer` (which Meteor is now using) no
longer `JSON.stringify` added header objects. This commit updates
the `Email.send` `options.headers` docs to show how to properly
associate objects with custom headers using `JSON.stringify`.
Fixes#8660.
* Adjust header object docs property naming to avoid confusion
Just to clarify that port 465 is typically a secure port and our
assumption is based on that (in case they're curious how we decided
to show the message).
* Switch to modern nodemailer 4, Node 4 version. Fix#8591
* Most critically, use a pool instead of direct SMTP connection,
to handle dropped connections and increase throughput,
like mail module 1.1. (#8591)
* New nodemailer's sendMail wants an options object, not a MailComposer
object. Luckily, a MailComposer object has a "mail" field that
remembers the original options, so we can keep original behavior.
* However, we no longer support the mailComposer option set to a compiled
MailComposer object (functionality that was briefly added in 1.2.0).
* nodemailer does SMTP URL parsing now automatically for us, simplifying code.
* Tests' outputs now end with additional "\r\n"
* Drop underscore package dependency (no longer needed)
* General formatting/style cleanup for `packages/email`.
* snake_cased => camelCased for some local variables.
* Added curly-brackets to `if`s.
* Removed trailing spaces.
* Removed commented-out code.
* Removed older doc text and changed some links.
* Get rid of back-and-forth assigning of `mailUrlString`.
* Switch from mailcomposer 0.1.15 -> 4.0.1 (latest, still MIT license).
* Switch from simplesmtp (which only supports mailcomposer 0.1)
to smtp-connection (which supports any mail composer).
* Use smtp-connection@2 (instead of latest) which shares
nodemailer-shared codebase with mailcomposer 4.0.1.
* Add test for long header lines (the original bug being fixed here)
* Add extra test for HTML + text messages
* Document some extra options arguments supported by new mailcomposer
I had to scrap the 1.4.2-beta.8 release because meteor-tool@1.4.2-beta.8
got published by a partial run of the publish-release script, but then the
publish-release script thought meteor-tool changed after that, and I
didn't want to republish it as something like 1.4.2-1-beta.8.