使用 gmail api 从 nodejs 服务器发送邮件



我想做的是从我的节点js rest api向用户发送邮件,用户的密码。我想知道如何仅使用 gmail api 和 api 密钥发送电子邮件。

Google 在 2015 年停止了其所有 API 上的客户端登录(登录名和密码(。 您无法使用登录名和密码访问谷歌 API。 您的用户需要使用 Oauth2 进行身份验证。

API 密钥仅用于访问公共数据。 Gmail 是私人用户数据,需要您拥有访问权限才能访问数据。

如果您必须使用登录名和密码,那么我建议您尝试通过SMTP或IMAP服务器。 我不是节点开发人员,对不起,我无法帮助您。

如果您想要使用 Gmail API 发送电子邮件而无需身份验证,则必须使用服务计数并使用 jwt 进行身份验证。

示例代码:

const google = require('googleapis');
const gmail = google.gmail('v1');
const key = require('./mailing-bd0ff2b11546.json')//service acount jwt auth
    let jwtClient = new google.auth.JWT(
        key.client_email,
        null,
        key.private_key,
        ['https://mail.google.com/'],
        '<mail to suplant>'
    );
    function getMessagesList(data) {
        return new Promise((resolve, reject) => {

            jwtClient.authorize(function (err, tokens) {
                if (err) {
                    console.error(err);
                } else {
                    gmail.users.messages.list({
                        auth: jwtClient,
                        userId: 'me',
                        labelIds: 'INBOX'
                    }, (err, messageList) => {
                   ...
                   ...
                   ...

以下是一些文档链接:创建服务帐户

堆栈溢出示例

相关内容

  • 没有找到相关文章

最新更新