无法使用 nodemailer 发送带有附件的电子邮件

玛丽亚·莱卡

我有以下使用 nodemailer 发送带有附件的电子邮件的功能,但有时它会返回错误 enoent,即使文件路径存在也找不到。你能告诉我我的错误在哪里吗?

function sendEmail(userEmail, htmlString, requestSnap, FIREBASE_WEB) {

 fileName ="test.pdf";
 folderName = "./" + uuid.v4();
 mkdirp(folderName, function(err) {
    if (err) console.error(err)
        else console.log(folderName + ' folder created!')
    });

pdf.create(htmlString + userEmail, options).toFile(folderName + '/' + fileName, function(err, res) { // if the file doesnt exist it will be created
    if (err) return console.log(err);
    console.log(res);
});

var transporter = nodemailer.createTransport(smtpTransport({
    service: 'Gmail',
    auth: {
        user: '...',
        pass: '...'
    }
}));

console.log("\nPATH " + folderName + "/" + fileName);

var mailOptions = {
    from: '[email protected]',
    to: userEmail,
    subject: 'So mail vo pdf-ot',
    text: 'Hellow',
    attachments: [{
        path: folderName + "/" + fileName
    }]
};

transporter.sendMail(mailOptions, function(error, info) {
    if (error) {
        console.log("ERROR kkkk " + error);
    } else {
        console.log('Email sent: ' + info.response);
        console.log("REQUEST SNAP " + JSON.stringify(requestSnap));
    }

    deleteFolderRecursive(folderName);
});

}

错误日志:

  ERROR kkkk Error: ENOENT: no such file or directory, open 'C:\Users\asd\Documents\Projects\asd\asd\010a3e0f-2f16-4227-a886-873a8529737f\asd.pdf' 

路径存在

钱德拉·埃斯凯

由于节点 Js 是单线程的、事件驱动的,这似乎是适当链接函数的问题。

您的 PDF 创建代码需要时间才能返回,但到那时您的发送邮件代码已被调用,并且发现文件夹尚未创建。

试试这个:

function sendEmail(userEmail, htmlString, requestSnap, FIREBASE_WEB) {

fileName = "test.pdf";
folderName = "./" + uuid.v4();
mkdirp(folderName, function (err) {
    if (err) console.error(err)
    else console.log(folderName + ' folder created!')
});

pdf.create(htmlString + userEmail, options).toFile(folderName + '/' + fileName, function (err, res) { // if the file doesnt exist it will be created
    if (err) return console.log(err);
    console.log(res);

    var transporter = nodemailer.createTransport(smtpTransport({
        service: 'Gmail',
        auth: {
            user: '...',
            pass: '...'
        }
    }));
    console.log("\nPATH " + folderName + "/" + fileName);

    var mailOptions = {
        from: '[email protected]',
        to: userEmail,
        subject: 'So mail vo pdf-ot',
        text: 'Hellow',
        attachments: [{
            path: folderName + "/" + fileName
        }]
    };

    transporter.sendMail(mailOptions, function (error, info) {
        if (error) {
            console.log("ERROR kkkk " + error);
        } else {
            console.log('Email sent: ' + info.response);
            console.log("REQUEST SNAP " + JSON.stringify(requestSnap));
        }

        deleteFolderRecursive(folderName);
    });
});
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Python发送带有.csv附件的电子邮件

来自分类Dev

使用nodemailer发送电子邮件

来自分类Dev

在Heroku上使用nodemailer发送电子邮件失败

来自分类Dev

无法使用Nodemailer发送邮件

来自分类Dev

在Android中使用Java Mail API向带有附件的电子邮件发送电子邮件

来自分类Dev

使用Javascript for Automation发送带有附件的电子邮件

来自分类Dev

使用gmail rest api -objective-c发送带有附件的电子邮件

来自分类Dev

使用nodemailer发送电子邮件

来自分类Dev

nodemailer:无法发送pdf附件

来自分类Dev

使用SendGrid发送带有附件的电子邮件

来自分类Dev

使用Namecheap电子邮件发送Nodemailer电子邮件

来自分类Dev

发布JSON以使用Nodemailer发送电子邮件以发送邮件但挂起或抛出错误

来自分类Dev

使用smpt发送带有多个附件的电子邮件

来自分类Dev

node.js nodemailer和nodemailer-sendinblue-transport无法发送电子邮件

来自分类Dev

从付费帐户发送带有附件的电子邮件时,MailApp.sendEmail无法正常工作

来自分类Dev

使用wordpress发送带有附件的电子邮件

来自分类Dev

使用Python发送带有附件的电子邮件

来自分类Dev

PHP Mail()无法发送带有附件的电子邮件

来自分类Dev

使用Maven发送带有附件的电子邮件

来自分类Dev

使用SendGrid发送带有附件的电子邮件

来自分类Dev

如何使用keystone-nodemailer发送电子邮件

来自分类Dev

无法发送带有附件的电子邮件

来自分类Dev

如何使用vb.net中的默认电子邮件客户端发送带有附件的电子邮件

来自分类Dev

Django无法发送带有附件的电子邮件

来自分类Dev

无法使用 nodemailer 在 nodejs 中发送电子邮件

来自分类Dev

如何使用 nodemailer 和 gmail 发送电子邮件?

来自分类Dev

使用 nodemailer 发送邮件

来自分类Dev

带有附件的电子邮件使用 Nodemailer 显示为空

来自分类Dev

使用 powershell 发送带有内嵌附件的电子邮件

Related 相关文章

  1. 1

    如何使用Python发送带有.csv附件的电子邮件

  2. 2

    使用nodemailer发送电子邮件

  3. 3

    在Heroku上使用nodemailer发送电子邮件失败

  4. 4

    无法使用Nodemailer发送邮件

  5. 5

    在Android中使用Java Mail API向带有附件的电子邮件发送电子邮件

  6. 6

    使用Javascript for Automation发送带有附件的电子邮件

  7. 7

    使用gmail rest api -objective-c发送带有附件的电子邮件

  8. 8

    使用nodemailer发送电子邮件

  9. 9

    nodemailer:无法发送pdf附件

  10. 10

    使用SendGrid发送带有附件的电子邮件

  11. 11

    使用Namecheap电子邮件发送Nodemailer电子邮件

  12. 12

    发布JSON以使用Nodemailer发送电子邮件以发送邮件但挂起或抛出错误

  13. 13

    使用smpt发送带有多个附件的电子邮件

  14. 14

    node.js nodemailer和nodemailer-sendinblue-transport无法发送电子邮件

  15. 15

    从付费帐户发送带有附件的电子邮件时,MailApp.sendEmail无法正常工作

  16. 16

    使用wordpress发送带有附件的电子邮件

  17. 17

    使用Python发送带有附件的电子邮件

  18. 18

    PHP Mail()无法发送带有附件的电子邮件

  19. 19

    使用Maven发送带有附件的电子邮件

  20. 20

    使用SendGrid发送带有附件的电子邮件

  21. 21

    如何使用keystone-nodemailer发送电子邮件

  22. 22

    无法发送带有附件的电子邮件

  23. 23

    如何使用vb.net中的默认电子邮件客户端发送带有附件的电子邮件

  24. 24

    Django无法发送带有附件的电子邮件

  25. 25

    无法使用 nodemailer 在 nodejs 中发送电子邮件

  26. 26

    如何使用 nodemailer 和 gmail 发送电子邮件?

  27. 27

    使用 nodemailer 发送邮件

  28. 28

    带有附件的电子邮件使用 Nodemailer 显示为空

  29. 29

    使用 powershell 发送带有内嵌附件的电子邮件

热门标签

归档