发送电子邮件与Gmail的API不工作
我正在尝试通过在node.js中使用google api来发送电子邮件
var sendmsg = function(auth) { var to = 'foo@gmail.com', subject = 'Hello World', content = 'send a Gmail.' var email = "To: "+ to +"\r\n"+ "Subject: "+subject+"\r\n"+ content; var base64EncodedEmail = new Buffer(email).toString('base64'); var gmail = google.gmail('v1'); var request = gmail.users.messages.send({ 'userId': auth, 'message': { 'raw': base64EncodedEmail } }, function (err, result) { console.log('result'+result); }); };
我从谷歌文档中的快速入门示例中读取了这个示例,该示例读取了我的电子邮件帐户中的标签(工作正常)。 而我只是把范围改为:
var SCOPES = ['https://mail.google.com/', 'https://www.googleapis.com/auth/gmail.modify', 'https://www.googleapis.com/auth/gmail.compose', 'https://www.googleapis.com/auth/gmail.send'];
并创build该var =电子邮件
var to = 'foo@gmail.com', subject = 'Hello World', content = 'send a Gmail.' var email = "To: "+ to +"\r\n"+ "Subject: "+subject+"\r\n"+ content;
然后,我只是试图使用gmail.users.messages.send方法..但是当运行结果返回以下内容:
<HTML> <HEAD> <TITLE>Bad Request</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <H1>Bad Request</H1> <H2>Error 400</H2> </BODY> </HTML>
任何想法我失踪? 我想我创build我的VAR'电子邮件'的方式是错误的,但我不知道应该如何
userId
字段的值必须是发件人的电子邮件地址(或简称), auth
必须在auth
字段中传递,并且消息应该在resource
字段中传递。 您的信息在内容有效之前缺less一个From
标题和一个额外的新行。 该消息也必须是base64url编码:
function sendMessage(auth, from, to, subject, content) { // The Gmail API requires url safe Base64 // (replace '+' with '-', and '/' with '_') var encodedEmail = new Buffer( 'From: ' + from + '\r\n' + 'To: ' + to + '\r\n' + 'Subject: ' + subject + '\r\n\r\n' + content ).toString('base64').replace(/\+/g, '-').replace(/\//g, '_'); var gmail = google.gmail('v1'); var request = gmail.users.messages.send({ auth: auth, userId: 'me', resource: { raw: encodedEmail } }, function (err, result) { console.log('result:', result); }); };
- passport-google-oauth2获取节点js中的gmail.users.messages.list
- 使用google-api-nodejs-client正文的Gmail API
- Node.js向Gmail API发送消息的POST请求
- 用于在Node.js中发送邮件的Gmail API
- 使用node.js gmail api列出收件箱邮件
- 尝试使用Gmail的Node.js API修改标签时,“错误没有标签添加或删除指定”
- Gmail的API适当的方式从Users.message资源获取电子邮件正文(文本或HTML)
- 我怎样才能得到一个特定的人发送的电子邮件列表?
- TypeError:无法读取未定义的属性'client_secret'