Как отправить электронное письмо (gmail) с приложением в приложении Angular5? - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь отправить электронное письмо с приложением из приложения Angular5.Мое приложение работает нормально без вложений.Я звоню в gmail api (https://www.googleapis.com/gmail/v1/users/userId/messages/send) и передаю от темы) сообщение (в кодировке base64) в FormGroup. Теперь я хотел бы отправить файл вместе с сообщением. Я пытаюсьиспользуйте https://www.googleapis.com/upload/gmail/v1/users/userId/messages/send?uploadType=multipart, но столкнулись с трудностями при отправке данных в вызов API. В документации Gmail API указано, что ввод должен быть в формате message / rfc822. Я попытался отправить файл .eml на вызов API и проверил ответв почтальоне, но я получаю сообщение об ошибке badcontetn, это может быть потому, что я просто использовал пример файла .eml, в котором содержимое не закодировано. Я как будто поражен здесь, не зная, как двигаться дальше ... как я могу заставить его работать?Как я могу преобразовать введенные пользователем данные и вложение в файл .eml? Есть ли другой способ заставить эту работу?

1 Ответ

0 голосов
/ 20 сентября 2018

Я не мог найти точное решение, но я вроде нашел обходной путь.Вместо использования / upload / gmail / v1 / users / userId / messages / send для вложения файла я использовал URL-адрес / gmail / v1 / users / userId / messages / send, который обычно используется для электронных писем без вложений.Формат, в котором я отправил тело запроса:

- foo_bar_baz Тип содержимого: message / rfc822 to: surimallabharat@gmail.com тема: Тема тестирования

Это текст тестирования --foo_bar_baz Content-Type: IMG / PNG Content-Disposition: вложение файла = "image.png" iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAIAAAD5gJpuAAAABGdBTUEAAK / INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAA + SURBVHjaYvzPgAD / UNlYEUAAmuTYBgAYhIEgJJmboZgtHbaJKNK8TvozM8LIllwagEY4sIFV1UD / 3swngMAaGBn / P3kCVApS7ebG8O / ж / X07 / п / 6BFL36 / F / 37 / + // oFZDPKygJtAAggkIb /YINBqqOjGUxNQeqUlf93dIDV / QLpAWtg + P0bqAEggJhA7gaqBtqoqMjg5PR / + Vt / ВС / N2z4 // ХГ / + // XL Pwgu2BWgJUCxBATCAn / fgJEnVx / Q + 05NgxkNzp0 / 9XrPgvJPR / ZZR / ZmZQDX / + AE0HCCCQhv9 // 4D89OQxMMT + a2uDnKGm9v / SJZCrHj36v28fRAPESQABxALEjGBLGRYv / с / H97 + oCOQYIIiM /Р / LY / 9Fi6CO + QMy9A8DA0AAgTQwg4MMaMD / rq7 / VR7 / WVlBrv / 8GeROiAf + ADWAQgXoHIAAAmlg + V + fQVISbMxfhpMngToZhYUZ + PkZwAaDEDgMgQioGCCAGL + iRiSeOIYAgAADAO / XO1xGA79vAAAAAElFTkSuQmCC --foo_bar_baz -

Я закодировал выше боdy в base64 и заменил + на - и / на _ по мере необходимости.У меня все работало нормально .. Надеюсь, это хотя бы временно решит проблему.

...