Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Nodemailer: Easy e-mail sending from your Node.js applications (nodemailer.com)
82 points by tilt on March 19, 2014 | hide | past | favorite | 31 comments


Is this really much easier than using https://www.npmjs.org/package/mailer? Also, unless nodemailer is written by the same developer as mailer, it appears they copied the tagline, "simple as cake".

        email.send({
            host : "smtp.gmail.com",              // smtp server hostname
            port : "465",                     // smtp server port
            ssl: true,
            domain : "localhost",            // domain used by client to identify itself to server
            to : "recipient@somewhere.com",
            from : 'sender@somewhere.com',
            subject : 'My Subject',
            body: 'Blah\nBlah\nBlah.,
            authentication : "login",        // auth login is supported; anything else is no auth
            username : '',
            password : ''
        },
        function (err, result) {
        });


"mailer" and its derivatives are deprecated in favor of "nodemailer". Besides, "mailer" uses "nodemailer" as its backend (it used to have its own SMTP client but it had a lot of shortcomings), so it doesn't really count. You could as well create your own wrapper areound "nodemailer" that would be even easier to use.


I started using this in all my node projects a couple years ago. It has been my favorite email library in any language I've used. I love the pre-configured services for gmail and sendgrid, etc. Surprised to see it posted - I figured everyone already was using it.


I wrote a module you can use on top of Nodemailer to send beautiful emails effortlessly.

https://github.com/bevacqua/campaign

https://github.com/bevacqua/campaign#using-nodemailer


That looks really nice. I'll give it a go.


Been using it for re than a year. Sent more than a million newsletters over SES and SendGrid. Never had a problem.

Website does not seem to have a link to repo though: https://github.com/andris9/Nodemailer


Thanks, was wondering if it was on github!


Nice module. Logo is pretty nifty too. The default "well known" server list is particularly useful.

If you happen to use this with AWS watch out though. It's hard coded to US east. If you're not in that region then you should configure the server manually to a local end point so that you don't have to pay for bandwidth. Would be a tad faster too.

[1]: https://github.com/andris9/Nodemailer/blob/master/lib/wellkn...


This might be a minor comment, but I noticed you guys are using Node.js with Express.js to render nodemailer.com. You can (and maybe should) change the favicon from the default Express.js favicon.

You can do so by removing `app.use(express.favicon());` from the generated app.js file. At the very least, you could add your own favicon in your public/ folder to make the project page look (albeit in the most vain sense) more polished.


Regardless of which package you use for delivering email, I can't recommend enough to put the email delivery code into an async job queue that automatically retries.

Even with major providers there are enough occasional blips that you don't want to impact delivery of your email. Additionally, it would allow you to decouple sending (popping from the queue) if you ever needed to delay it momentarily.


What async job queue do you recommend? Is it decoupled from your app server?


Ideally yes, it's running on a different machine. But most certainly a different process.

For the queue, I've wrapped redis and rabbitmq clients with a simple retry logic that re-enqueues the job on failure to send. It's about choosing what's right for your use case.


How about a mail server?


My use isn't specific to mail. Instead I would like something similar to Resque in functionality.


Such a lovely logo. Compliments to the designer


I used this in my product. Good work! :)


Same here, between Nodemailer and Haraka, SMTP relaying with node is a breeze


Thanks! (I wrote Haraka)


And node-phantom-simple :D (saved my bacon with that also)


Another Nodemailer + Haraka user here. Works really well!


Likewise...I thought it was already fairly widely used...in any case, it's the best of breed I've found: pretty well works as advertised.


Me too, originally with gmail SMTP and now with Amazon SES.

Very easy to use and highly recommended!


I've even created an Application based on Nodemailer: https://github.com/lepture/pigeon which will serve as a HTTP server.


I used this in some past work about a year ago. It's fantastic.


This module is the main cog behind the email delivery service application in my organization, which I built over a year ago, and it has been supremely reliable while handling 40-50 million emails per month. Just my testimonial.


The product itself looks great but am I missing something with the tagline? Surely it should be either "easy as pie" or "a piece of cake".


I'm the author of Nodemailer. I'm not a native english speaker and I "borrowed" the tagline from a Node.js module by Marak Squires and didn't realize that "easy as cake" is not a widely used expression but something he probably made up himself.


Fair enough, thanks for all your hard work btw!


It's inadvertently brilliant! By being unusual, it draws attention to itself and thus to the project.


I'm familiar with this as one of the dependencies of Ghost. It was great to see that it includes sending via SES.


We've used Nodemailer in production at ClassDojo to send at least 100m emails - it's a great module.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: