Как добавить больше ccRecipients в графе Microsoft? - PullRequest
0 голосов
/ 29 апреля 2018

Я использую Microsoft Graph для подключения к Outlook. Может кто-нибудь, пожалуйста, помогите мне с моей проблемой. Мне нужно добавить более одного ccRecipient и bccRecipient. Мое веб-приложение отправляет, получает и читает электронные письма через API. Но я не могу отправить электронное письмо более чем одному cc и bcc получателю. Это функция, которую я использую для отправки электронной почты.

edit: Прямо сейчас функция не имеет двух ccRecipients и двух bccRecipients в JSON. Я пробовал разными способами, но когда я тестирую его в Microsoft Graph-Explorer, он не может отправить более чем на один адрес.

    function sendEmail(){

            getAccessToken(function(accessToken) {
                if (accessToken) {
// Create a Graph client
                    var client = MicrosoftGraph.Client.init({
                        authProvider: (done) => {
// Just return the token
                        done(null, accessToken);
                }
                });

                    var recipient                   = $("#recipient").val();
                    var subject                     = $("#subject").val();
                    var carbon_copies               = $("#carbon_copies").val();
                    var blind_carbon_copies         = $("#blind_carbon_copies").val();
                    var filename_attachment         = $("#filename").text();
                    var attachments_base64          = $("#attachment_base64").val();
                    var attachments_base64_replaced = attachments_base64.substring(attachments_base64.indexOf(",")+1);
                    alert(attachments_base64_replaced);



                    tinyMCE.triggerSave();
                    var body                           = $("#moj_tekst_editor").val();
                    var body_escape_double_qoute       = body.replace(/"/g, '\\"');
                    //var body_escape_single_qoute       = body_escape_double_qoute.replace(/'/g, "\\'");
                    var body_escape_forward_slash       = body_escape_double_qoute.replace("/", "\\/");
                    var body_escape_forward_slash       = body_escape_double_qoute.replace("/", "\\/");
                    alert(body_escape_forward_slash);


                    var email = '{"message":{"subject": "'+subject+'","body": {"contentType": "HTML","content": "'+body_escape_forward_slash+'"},"toRecipients": [{"emailAddress": {"address": "'+recipient+'"}}],"ccRecipients": [{"emailAddress": {"address": "'+carbon_copies+'"}}],"bccRecipients": [{"emailAddress": {"address": "'+blind_carbon_copies+'"}}],"attachments":[{"@odata.type":"#Microsoft.OutlookServices.FileAttachment","name":"'+filename_attachment+'","contentBytes":"'+attachments_base64_replaced+'"}]}, "saveToSentItems": "true"}'




                    console.log(email);



                    // Send Email
                    client
                        .api('/me/sendMail')
                        .header('Content-Type', "application/json")
                        .post(email, (err, res) => {
                        if (err) {
                            callback(null, err);
                        } else {
                            callback(res.value);
                }
                });

                } else {
                    var error = { responseText: 'Could not retrieve access token' };
                    callback(null, error);
                }
            });

        }

Что мне нужно сделать, чтобы иметь возможность отправлять электронную почту более чем на один ccRecipient и bccRecipient? Когда я добавляю более одного cc-сообщения, получатель всегда приходит к последнему.

Заранее спасибо !!

1 Ответ

0 голосов
/ 29 марта 2019

Я обнаружил, что могу отправлять электронные письма нескольким toRecipients или ccRecipients, отформатировав emailAddress следующим образом:

  {
    "emailAddress": {
      "address": "cc1@email.com"
    }
  },
  {
    "emailAddress": {
      "address": "cc2@email.com"
    }
  }

Полное тело запроса выглядит так:

{
  "message": {
    "subject": "Meet for lunch?",
    "body": {
      "contentType": "Text",
      "content": "The new cafeteria is open."
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "address1@email.com"
        }
      },
      {
        "emailAddress": {
          "address": "address2@email.com"
        }
      }
    ],
    "ccRecipients": [
      {
        "emailAddress": {
          "address": "cc1@email.com"
        }
      },
      {
        "emailAddress": {
          "address": "cc2@email.com"
        }
      }
    ]
  },
  "saveToSentItems": "true"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...