Davtho1983
Davtho1983

Reputation: 3954

How to set up Nodemailer with Angular 4?

I can't find a tutorial anywhere that guides me through the process of setting up nodemailer in Angular 4. I'm not even sure in which file to put the ts from the nodemailer intro on their website:

'use strict';
const nodemailer = require('nodemailer');

// Generate test SMTP service account from ethereal.email
// Only needed if you don't have a real mail account for testing
nodemailer.createTestAccount((err, account) => {

    // create reusable transporter object using the default SMTP transport
    let transporter = nodemailer.createTransport({
        host: 'smtp.ethereal.email',
        port: 587,
        secure: false, // true for 465, false for other ports
        auth: {
            user: account.user, // generated ethereal user
            pass: account.pass  // generated ethereal password
        }
    });

    // setup email data with unicode symbols
    let mailOptions = {
        from: '"Fred Foo 👻" <[email protected]>', // sender address
        to: '[email protected], [email protected]', // list of receivers
        subject: 'Hello ✔', // Subject line
        text: 'Hello world?', // plain text body
        html: '<b>Hello world?</b>' // html body
    };

    // send mail with defined transport object
    transporter.sendMail(mailOptions, (error, info) => {
        if (error) {
            return console.log(error);
        }
        console.log('Message sent: %s', info.messageId);
        // Preview only available when sending through an Ethereal account
        console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));

        // Message sent: <[email protected]>
        // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou...
    });
});

This is a complicated thing and any help would be appreciated! If I knew where to put the code and what it should do, I would be able to piece some things together.

Upvotes: 2

Views: 4269

Answers (1)

Matt Knight
Matt Knight

Reputation: 499

You are confusing client side with server side code. NodeMailer is a server side package for express. Angular 4 would call an API to executed that code. If you want to to get nodemailer up and running, you need to do so within node. Are you using a back-end such as express?

Upvotes: 3

Related Questions