2017-01-11 1 views
0

Приветствуем поклонников API Gmail.Отправка через API Gmail с непереносимого адреса электронной почты

Я написал совершенно удивительный код, который аккуратно аутентифицирует и отправляет электронную почту с использованием API Gmail с JavaScript.

Однако, даже если мозг такой же большой, как у меня, у меня есть проблема. В то время как электронные письма отправляются с использованием gapi.client.gmail.users.messages.send с userId, установленным на "me", я не могу его отправить вместо альтернативного группового адреса, связанного с моей учетной записью.

Например, если я пытаюсь изменить userId на "[email protected]", выполнение выполняет ошибку 401 «Требуется регистрация», даже если этот адрес электронной почты связан с моей учетной записью Gmail.

Settings screen

Любые идеи, что происходит?

smidgeon кода ниже:

// Stuff gleaned from a form 
var headers = { 
    'subject': e.data.subject, 
    'to': e.data.to, 
    'cc': e.data.cc, 
    'bcc': e.data.bcc, 
    'content-type': 'text/html; charset=utf-8' 
}; 

// grab the email content 
message = editor.getContent({format : 'raw'}); 

// construct the email 
var email = ''; 
for(var header in headers) 
    email += header += ': ' + headers[header] + '\r\n'; 

email += '\r\n' + message; 

// This is the bit - changing userId to anything other than 'me' (or the primary email address) kicks error 
var sendRequest = gapi.client.gmail.users.messages.send({ 
    'userId': 'me', 
     'resource': { 
      'raw': window.btoa(unescape(encodeURIComponent(email))).replace(/\+/g, '-').replace(/\//g, '_') 
      } 
     }); 

    return sendRequest.execute(function(){}); 
} 
+0

Это работает, если вы ее кодируете? 'encodeURIComponent (isy[email protected] ') ===" myalternate% 40somewhere.com "' – Tholle

+1

Приятное мышление, но, к сожалению, это не имеет значения. Я могу изменить userId от «меня» до «[email protected]», и он все еще работает - он отправляет с основного адреса электронной почты в порядке. – Booboobeaker

ответ

0

Не изменять "USERID" в URL-пути. Просто установите заголовок «От» в своем письме на этот адрес (и он должен быть подтвержденным адресом вашей учетной записи Gmail, чтобы это работало).

+0

Большое спасибо, это сработало! Я ранее пробовал это так, прежде чем связывать дополнительную учетную запись с gmail, и ничего не произошло, а затем пренебрегли повторением. – Booboobeaker

Смежные вопросы