nodejs发邮件nodemailer附件发不出来解决

本文探讨了在使用Nodemailer发送电子邮件时遇到附件为空的问题,指出可能是由于版本差异导致的。通过将path改为filePath,并提供了一段修正后的代码,帮助开发者解决实际发送过程中附件不被识别的问题。
摘要由CSDN通过智能技术生成

搜到的很多nodemailer实例,可以正常发出邮件内容,但是附件是空的。

可以试试将路径参数 path 改为 filePath,官方给的很多例子都是 path,估计是版本问题导致部分 filePath可用,部分path可用。

github issue里也有相关讨论:https://github.com/dwightjack/grunt-nodemailer/issues/4

最后附上我这边能用的源码,稍微修改下配置好应该就可以直接发邮件了~

const nodeMailer = require("nodemailer");
const moment = require('moment');
const fs = require('fs');

// let transporter  = nodeMailer.createTransport();
 
let transporter  = nodeMailer.createTransport('SMTP',{
    //service: 'smtp.163.com',
    host: "smtp.163.com",
    secureConnection: true,
    port:465,
    auth: {
        user: '自己的邮箱地址',
        pass: '配置好的邮箱密码',
    }
});

let defaultOptions = {
    from:'"ted"<ted的邮箱地址>',
    to:"收件人1地址,收件人2地址",
    subject:"主题内容",
    text:"邮件文本内容",
    attachments:[
        {
            filename : 'testing.txt',
            //>>>>>>这里的filePath如果是 path 可能会导致附件发不出来
            filePath: './testing.txt'
        },
        {   // utf-8 string as an attachment
            filename: 'text1.txt',
            content: 'hello world!'
        },
    ]
//附件
}
let mailerSend = (defaultOptions)=>{
    transporter.sendMail(defaultOptions,(err,info)=>{
        if(err){
                console.log(err)
        }
        else {
            console.log(err,info)
        }
    });
    return;
}

mailerSend();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值