收藏
回答

nodemailer发邮件带附件的时候,附件是空白的(大小是0b)?

如题,chooseMessageFile或者downloadFile获取到文件url,通过("nodemailer": "^6.7.3")发送邮件之后,在邮件里附件显示大小为0b,为啥呢?

(attachment传参path会失败,传filepath会成功,但附件是0b

相关代码如下,有大佬解答下么,谢谢

wx.chooseMessageFile({
  count: 1,
  type: 'all',
  success (res) {
	let fileName = res.tempFiles[0].name
	// 发送邮件
	let attach = [{
	  filename:fileName,
	  filepath:res.tempFiles[0].path,
	}]
	that.sendMailWithAttach(attach)
	app.uploadFile(res.tempFiles[0].path, 'test/' + fileName)then((filePath)=>{
	  app.downloadFile(filePath).then((res)=>{
		wx.getFileSystemManager().saveFile({
		  tempFilePath: res.tempFilePath,
		  success(res){
			console.log('下载完成',res.savedFilePath)
			// 发送邮件
			let attach = [{
			  filename:fileName,
			  filepath:res.savedFilePath,
			}]
			that.sendMailWithAttach(attach)
		  }
		})
	  })
	})
  }
})


回答关注问题邀请回答
收藏

2 个回答

  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    08-19
    临时路径不上传服务器只是一个普通的字符串
    08-19
    有用 1
    回复 8
    • Sun
      Sun
      08-19
      app.uploadFile(res.tempFiles[0].path, 'test/' + fileName)then((filePath),这一步上传到云存储, cloud://环境id/test/11.png,这个路径放在filepath传,也还是空白啊
      08-19
      回复
    • Mr.Zhao
      Mr.Zhao
      08-19回复Sun
      sendMailWithAttach 代码咋写的
      08-19
      回复
    • Mr.Zhao
      Mr.Zhao
      08-19回复Sun
      你现在写的这段没看明白,骚操作吧
      08-19
      回复
    • Sun
      Sun
      08-19回复Mr.Zhao
      我贴的这段很明显是测试啊,哪会发这么频繁,这段代码测试各个url的发送情况,目前就是每个测试都是附件空白,纯文字都是正常的,sendMailWithAttach就是一个普通的nodeemailer.createTransport(config).sendMail(email),const email = {
          from: mail, // 发件人
          subject:  event.subject, // 主题
          to: event.email=="" ? mail : event.email, // 收件人
          text: event.text, // 邮件内容
          html: event.html,
          attachments: event.attachments,
        };
      08-19
      回复
    • Mr.Zhao
      Mr.Zhao
      发表于移动端
      08-19回复Sun
      就算普通,你也得发出来啊。学会提问,我不知道你说的频繁是啥意思。event.attachments 这个参数穿的啥,代码里面没看到,你让别人咋回答
      08-19
      回复
    查看更多(3)
  • 跨商通
    跨商通
    08-20

    nodemailer的附件参数,是要放附件的二进制内容的。文档读仔细了。

    08-20
    有用
    回复
登录 后发表内容