Как написать облачную функцию для отправки электронной почты с помощью SendGrid - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь отправить электронное письмо с помощью sendGrid (в моем мобильном приложении).Поэтому я написал облачную функцию и развернул ее в firebase. (Используя это, Посетите https://angularfirebase.com/lessons/angular4-transactional-email-with-cloud-functions-and-sendgrid/).

, она была загружена в firebase. Но, когда я пытаюсь отправить почтовый запрос (Использование почтальона {"to":"user1@gmail.com","from":"duser253@gmail.com","subject":"test-email","content":"content"}), в журнале firebase отображаются некоторые ошибки

SendGridError: Response error
at /user_code/node_modules/sendgrid/lib/sendgrid.js:104:23
at ClientRequest.<anonymous> (/user_code/node_modules/sendgrid/node_modules/sendgrid-rest/lib/client.js:124:7)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at TLSSocket.socketErrorListener (_http_client.js:310:9)
at emitOne (events.js:96:13)
at TLSSocket.emit (events.js:188:7)
at connectErrorNT (net.js:1040:8)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickDomainCallback (internal/process/next_tick.js:128:9)
  message: 'Response error',
  response: 
   { statusCode: 500,
     body: 
      { message: 'getaddrinfo ENOTFOUND api.sendgrid.com api.sendgrid.com:443',
        name: 'Error',
        stack: 'Error: getaddrinfo ENOTFOUND api.sendgrid.com api.sendgrid.com:443\n    at errnoException (dns.js:28:10)\n    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)' },
     headers: {} } 

1 Ответ

0 голосов
/ 23 октября 2018

Вы должны быть в тарифном плане «Flame» или «Blaze».

На самом деле, бесплатный план «Spark» разрешает исходящие сетевые запросы только к службам, принадлежащим Google ».См. https://firebase.google.com/pricing/ (наведите курсор мыши на вопросительный знак, расположенный после заголовка «Облачные функции»)

Поскольку Sendgrid не является службой, принадлежащей Google, вам необходимо переключиться на «Пламя» илиПлан "Блейз".

...