使用 Gmail 发送带签名的电子邮件 API

Sending email with signature using Gmail API

我的 Gmail Rest API 发送部分正常工作,但电子邮件不包含签名,在收件人的收件箱中,'from' 标签是发件人的用户 ID 而不是用户名.

这是在 php.

    $mime = new Mail_mime();
    $mime->setFrom("ABCD");  //This doesn't work....
    $mime->setSubject('Testing');
    $mime->setTXTBody('This is a demo mail');
    $mime->addTo('a@a.com');
    $message_body = $mime->getMessage();
    $encodeMessage = base64url_encode($message_body);
    $message = new Google_Service_Gmail_Message();
    $message->setRaw($encodeMessage);
    $send = $service->users_messages->send('me', $message);

有没有包含签名和更改'from'?

签名不是由 API 添加的,因为它是 Web 客户端上的设置,而不是整个帐户的全局设置。如果您在 Thunderbird、Outlook 或其他电子邮件客户端上配置您的 Gmail 帐户,Gmail 也不会添加签名。您应该从两个不同的角度来考虑 Gmail:

  1. Web 客户端界面,可在 https://mail.google.com 访问,这只是一个电子邮件客户端;
  2. 您的收件箱,邮件最终到达的地方,完全独立于您用来访问它的客户端。

换句话说,这是一个依赖于电子邮件客户端的设置,客户端唯一要做的就是在你自己写的文本中添加一些文本,没有别的。

我知道这是旧的,但您可以通过 API 用户签名检索。

https://developers.google.com/admin-sdk/email-settings/#manage_signature_settings

然后您可以将您正在撰写的电子邮件附加到您的电子邮件中。