Как отправить приглашение календаря с помощью nodemailer nodejs? - PullRequest
1 голос
/ 12 апреля 2020

Я отправляю приглашение в календаре с помощью Nodemailer. Я столкнулся с проблемой, при которой вместо этого я отправляю приглашение в календаре, используя файл "Invite.ics". Электронная почта отправляется успешно, но она отправляет файл "Invite.ics". Кто-нибудь может помочь мне выяснить, где проблема и как я могу решить эту проблему? Заранее спасибо.

const ical = require('ical-generator');
const cal = ical();
    const transporter = nodemailer.createTransport({
        service: "Gmail",
        host: 'smtp.gmail.com',
        port: 587,
        secure: false,
        auth: {
            user: 'vsvishnusingh@gmail.com',
            pass: 'mypassword',
        }
    });
        return new Promise(function(resolve,reject){
          var options = {
            start: moment(),
            end: moment().add(1, 'hour'),
            timestamp: moment(),
            summary: 'My Event',
            title : 'Annual function',
            description : 'Lets enjoy and relax',
            id : 'wdcwe76234e127eugb', 
            organiser : {'name' : 'Vishnu Singh', 'email':'vsvishnusingh@gmail.com'},
            location : 'School'
        }

        cal.createEvent({
            start: new Date(options.start),
            end: new Date(options.end),
            summary: options.summary || options.subject,
            description: options.description || "",
            location: options.location,
            organizer: {
                name: options.organiser.name,
                email: options.organiser.email
            },
            method: 'REQUEST'
        });



       var mailObj = {
            from: "vsvishnusingh@gmail.com",
            to: "vishnutest@gmail.com",
            subject: "Your Subject",
            text: "Some text in the body",
            alternatives: [{
                contentType: 'text/calendar; charset=UTF-8; method=REQUEST',
                content: new Buffer(cal.toString())
            }]
        };

        transporter.sendMail(mailObj, function(err, info){
           console.log(err,info);
            if (err) {
                console.log("Error while sending email ...", err)
                reject(err)
            } else {
                console.log("Email send successfully!");
                resolve()
            }
        });

        });
...