【问题标题】:Send email with several attachments发送带有多个附件的电子邮件
【发布时间】:2021-08-19 04:19:06
【问题描述】:

我在没有用户身份验证的情况下发送电子邮件,自动方法。

 {
  "message": 
   {
    "subject": "Envio de email Teste do MS Graph",
    "body": 
    {
     "contentType": "HTML",
     "content": "Testando envio"
    },
    "toRecipients": 
     [
      {
       "emailAddress": 
        {
         "address": "xxxxx@gmail.com"
        }
      }
     ],
    "attachments":
     [
      {
       "@odata.type": "#microsoft.graph.fileAttachment",
       "name": "Teste de Anexo",
       "contentLocation": "e:\ramos.xlsx",
       "isInLine":"true"
      }
     ]
   }
 }

如何将多个文件附加到电子邮件中?

我知道一个名为附件的参数,但我无法使用它来指向物理文件路径。我需要指向几个文件。

如何使用 VBA 将文件转换为 base64? Graph 中是否有执行此操作的 API?

【问题讨论】:

  • 由于document 不支持contentLocation,因此目前您无法指出这些文件。而且我不是来自 VBA 方面,但您可以尝试使用此线程 (stackoverflow.com/questions/20390397/…) 获取文件,您可以按照专注于文本文件的thread 对数据进行编码,您可以尝试使用 Excel 文件
  • Tks,帮了大忙,解决了问题
  • 您好,如果发布的答案解决了您的问题,请单击复选标记将其标记为答案。这样做可以帮助其他人找到他们问题的答案。见meta.stackexchange.com/questions/5234/…

标签: vba microsoft-graph-api


【解决方案1】:

解决了,问题是我需要转base64

【讨论】:

    【解决方案2】:

    由于文档不支持contentLocation,目前您无法指出这些文件。而且我不是 VBA 方面的,但您可以尝试使用此 thread 获取文件,您可以按照此 thread 对数据进行编码,它专注于文本文件,您可以尝试使用 Excel 文件。

    【讨论】:

      【解决方案3】:

      您需要将文件转换为 base64。

      import base64
      
      def encode_base64(attachment_path):
          data = open(attachment_path, 'rb').read()
          base64_encoded = base64.b64encode(data).decode('UTF-8')
          return base64_encoded
      

      定义变量

      attachment = encode_base64('c:/your_folder/file.xlsx')
      

      之后,您可以将 as args 传递给 JSON

      "attachments": [
                          {
                              "@odata.type": "#microsoft.graph.fileAttachment",
                              "name": "HappyCodeAgosto.xlsx",
                              "contentType": "application/vnd.ms-excel",
                              "contentBytes": attachment
                          }
                      ]
      

      【讨论】:

        猜你喜欢
        • 2021-09-14
        • 2015-09-09
        • 2020-09-12
        • 2018-03-09
        • 2014-09-25
        • 2019-05-25
        相关资源
        最近更新 更多