Microsoft Graph API не поддерживает стандарт MIME (Multipurpose Inte rnet Mail Extensions) для отправки электронной почты (POST-запрос) - PullRequest
0 голосов
/ 01 мая 2020

** У меня есть приложение для отправки электронной почты одному пользователю другому посредством интеграции Microsoft Graph API. *

Работает поиск, когда мы отправляем электронные сообщения, содержащие 7-битные символы ASCII. Но этого недостаточно для кодировки текста не ASCII (например, Unicode), двоичного содержимого или вложений. *

Так как я могу отправлять стандартные данные MIME через Microsoft Graph API, пожалуйста, помогите мне.


MIME : Протокол SMTP изначально был разработан для отправки сообщений электронной почты, которые содержат только 7-битные символы ASCII. Эта спецификация делает SMTP недостаточным для текстовых кодировок не ASCII (таких как Unicode), двоичного содержимого или вложений. Многоцелевой стандарт Inte rnet Mail Extensions (MIME) был разработан для того, чтобы можно было отправлять многие другие виды контента с использованием SMTP.

Стандарт MIME работает, разбивая тело сообщения на несколько частей, а затем определяя, что должно быть сделано с каждой частью. Например, одна часть тела сообщения электронной почты может быть простым текстом, а другая - HTML. Кроме того, MIME позволяет сообщениям электронной почты содержать одно или несколько вложений. Получатели сообщения могут просматривать вложения из своих почтовых клиентов или сохранять вложения.

Заголовок и содержимое сообщения разделены пустой строкой. Каждая часть электронного письма отделена границей, строкой символов, обозначающей начало и конец каждой части. Для получения дополнительной информации нажмите здесь


Тело запроса :

{
  "message": {
    "subject": "Special Mail Testing - 23652",
    "body": {
      "contentType": "html",
      "content": "<p>Hi RAJIB GARAI,</p><p>Copy Content :</p><p>In this module, you’ll learn how to manage the lifecycle of groups, the different types of groups and obtain information about the users.</p>
                    <p>Write Content :</p><p>In this module you'll learn how to manage it. Some special characters type from keybord :&nbsp;</p>
                    <p>! @ # $ % ^ &amp; * ( ) _ + = - ~ ` . / * - +&nbsp;</p><p>0 9 8 7 6 5 4 3 2 1&nbsp;</p>
                    <p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.&nbsp;</p>
                    <p>The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English.</p>
                    <p>Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy.
                        Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p>
                    <p> €   ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ ´ µ · º » ¼ û </p>"
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "rajibgarai@gamail.com"
        }
      }
    ]
  },
  "saveToSentItems": "true"
}

Заголовок запроса :

HttpHeaders headers = new HttpHeaders();

headers.add("Authorization",  KeyConstant.USER_TOKEN);  
headers.setContentType(MediaType.APPLICATION_JSON);

URL запроса : KeyConstant.URL_SEND_MAIL =

https://graph.microsoft.com/v1.0/me/sendMail

Запрос Процесс :

HttpEntity<String> requestBody = new HttpEntity<String>(message, headers);

    try 
    {
        ResponseEntity<String> result = restTemplate.exchange(KeyConstant.URL_SEND_MAIL, HttpMethod.POST, requestBody, String.class);

    }
    catch (org.springframework.web.client.HttpClientErrorException e)
    {
        log.error("Exception occurred while sending email : {} {}", e.getCause() ,e.getMessage());  
    }
    catch (Exception e) 
    {
        log.error("Exception occurred while sending email {} {}", e.getCause(), e.getMessage());
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...