Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
电子邮件正文以文件[gmailapi,Node.js]的形式发送_Node.js_Google Cloud Platform_Gmail Api - Fatal编程技术网

电子邮件正文以文件[gmailapi,Node.js]的形式发送

电子邮件正文以文件[gmailapi,Node.js]的形式发送,node.js,google-cloud-platform,gmail-api,Node.js,Google Cloud Platform,Gmail Api,我曾尝试使用,但电子邮件正文以文件附件形式发送。其他一切正常(从、到、主题等) 我的问题的原始代码可以看到,但下面是一个更简单的示例,说明我正在尝试做什么: import{google}来自'googleapis' const accessToken='使用googleapis包中的GoogleOAuth2创建的令牌'//这工作正常,因此我不会在这里包含代码 异步函数sendMail(主题:string、文本:string、收件人:string、发件人:string) { const utf8

我曾尝试使用,但电子邮件正文以文件附件形式发送。其他一切正常(从、到、主题等)

我的问题的原始代码可以看到,但下面是一个更简单的示例,说明我正在尝试做什么:

import{google}来自'googleapis'
const accessToken='使用googleapis包中的GoogleOAuth2创建的令牌'//这工作正常,因此我不会在这里包含代码
异步函数sendMail(主题:string、文本:string、收件人:string、发件人:string)
{
const utf8Subject=`=?utf-8?B?${Buffer.from(subject.toString('base64')}=`
const messageParts=
[
`From:${From}`,
`收件人:${To}`,
'内容类型:text/html字符集=utf-8',
'MIME版本:1.0',
`主题:${utf8Subject}`,
'',
文本,
]
const message=messageParts.join('\n')
const encodedMessage=Buffer.from(消息)
.toString('base64')
.替换(/\+/g,'-'))
.replace(//\//g,'.\u')
.替换(/=+$/,'')
const gmail=google.gmail({version:'v1',auth:accessToken})
等待gmail.users.messages.send(
{
userId:'我',
请求主体:
{
原始:encodedMessage,
}
})
}

sendMail('一些主题','一些文本','to@example.com', 'from@example.com)
我认为在你的标题中,
必须用作
内容类型
字符集
之间的分隔符。我想这可能是你问题的原因。当您的脚本被修改时,它将变成如下所示

发件人: 致: 注:
  • 在这个答案中,它假设
    constgmail=google.gmail({version:'v1',auth:accessToken})
    可以用于发送电子邮件。请小心这个
'Content-Type: text/html charset=utf-8',
'Content-Type: text/html; charset=utf-8',