Sendgrid-nodejs: impossible d'envoyer du courrier

Créé le 15 déc. 2017  ·  17Commentaires  ·  Source: sendgrid/sendgrid-nodejs

Résumé de la question

* LE SOUTIEN M'A DIRECTE ICI *
PREUVE: https://support.sendgrid.com/hc/en-us/requests/1325416?page=1

Je ne parviens pas à envoyer un e-mail avec la bibliothèque. le soutien m'a dirigé ici. J'essaie d'envoyer à partir de node.js, en cours d'exécution sur localhost. J'ai d'abord essayé l'exemple indiqué sur npm, mais j'obtiens une erreur 401 avec un en-tête semblable à x-no-cors reason . j'ai donc essayé d'utiliser le package @sendgrid/mail place, et avec cela, j'obtiens une erreur qui dit ceci:

TypeError: Cannot read property 'errors' of undefined
at ResponseError.toString (E:\songsplits\api\node_modules\@sendgrid\helpers\classes\response-error.js:45:27)
at Function.CapturedTrace.parseStackAndMessage (E:\songsplits\api\node_modules\bluebird\js\main\captured_trace.js:176:25)
at CapturedTrace.attachExtraTrace (E:\songsplits\api\node_modules\bluebird\js\main\captured_trace.js:79:32)
at Promise._attachExtraTrace (E:\songsplits\api\node_modules\bluebird\js\main\debuggability.js:102:19)
at Promise._rejectCallback (E:\songsplits\api\node_modules\bluebird\js\main\promise.js:471:10)
at E:\songsplits\api\node_modules\bluebird\js\main\promise.js:486:17
at Request.http [as _callback] (E:\songsplits\api\node_modules\@sendgrid\client\src\client.js:124:18)
at Request.self.callback (E:\songsplits\api\node_modules\request\request.js:188:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (E:\songsplits\api\node_modules\request\request.js:1171:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous> (E:\songsplits\api\node_modules\request\request.js:1091:12)
at IncomingMessage.g (events.js:291:16)
at emitNone (events.js:91:20)

Étapes à suivre pour reproduire

voici un module minimal à reproduire

email.js


const sgMail = require('@sendgrid/mail')

sgMail.setApiKey(process.env.SENDGRID_KEY);

module.exports.send = function send(html,subject,to,from){

    return new Promise((resolve,reject)=>{

        sgMail.send({
            to,
            from,
            subject,
            html
        }).then(resolve).catch(reject);

    });
};

index.js

const send = require('./mail');

send(
    '<!DOCTYPE html><html><head><title>Hi</title></head><body>Hi</body></html>',
    'Hi',
    '[email protected]',
    '[email protected]',
).then(()=>console.log('sent an email successfully!')).catch(err=>console.log(err));

Détails techniques:

  • sendgrid-nodejs Version: master (dernier commit: [numéro de commit])
  • Version Node.js: 6
help wanted question

Tous les 17 commentaires

juste essayé avec une autre clé aussi, et pas de bueno. parfois, l'erreur ne se produit pas, puis la réponse est

Unauthorized (401)
Permission denied, wrong credentials

Salut @ r3wt ,

Il s'agit d'un problème auquel notre équipe d'assistance peut vous aider. Ils peuvent vous aider à fouiller dans votre compte pour déterminer le problème avec vos clés.

Merci!

Meilleures salutations,

Elmer

@thinkingserious Votre équipe de support est celle qui m'a dirigé ici.

@ r3wt

Je sais que cela peut arriver si vous publiez votre clé API sur github, car notre équipe de conformité désactivera votre clé.

L'autre chose qui peut se produire est si vous avez activé la gestion des adresses IP, où votre compte n'est accessible qu'à partir d'adresses IP spécifiques. Si votre code s'exécute sur une adresse IP qui ne figure pas dans cette liste, cela provoquera également des erreurs.

Pouvez-vous s'il vous plaît me faire une faveur et créer une nouvelle clé API avec des privilèges de messagerie / d'envoi et réessayer le code?

Pendant que vous faites cela, pouvez-vous nous indiquer votre numéro de ticket d'assistance?
Merci!!

Je vois le ticket maintenant ... alors je vais regarder là aussi. Merci!

@mbernier la clé se trouve dans un fichier de configuration sur un dépôt privé. comment votre équipe pourrait-elle détecter cela? il n'y a aucun danger de fuite de la clé, c'est un référentiel privé.

maintenant, quelques informations sur ma connexion:

  • satellite, ipv6. pas de connexions entrantes distantes.
  • j'exécute l'application sur localhost

Donc, si c'est privé, alors ce n'est pas un problème - bien que nos équipes InfoSec suggèrent toujours de ne pas mettre de clés même dans des dépôts privés :)

Votre application devrait pouvoir envoyer les e-mails.

Pouvez-vous s'il vous plaît aller ici: https://sendgrid.com/docs/API_Reference/api_v3.html et essayez d'envoyer via l'onglet "Essayer" sur cette page de documentation? Si vous obtenez une erreur, veuillez poster la réponse et l'erreur ici.

@mbernier

image

@mbernier Malheureusement, des erreurs se produisent toujours dans node.js

image

Il semble que votre compte ne soit pas activé. Pouvez-vous s'il vous plaît vous connecter sur app.sendgrid.com et rechercher les notifications en haut de la page. Il vous incitera à donner un peu plus d'informations sur vous-même, afin de prouver que vous êtes un bon expéditeur.

@mbernier mon compte client est actif depuis au moins 2 ans. J'ai vérifié les journaux et le client envoie activement d'autres campagnes par e-mail et d'autres choses? Je suis confus.

@mbernier après avoir suivi les instructions de configuration du menu de compte interactif, cela a fonctionné. tellement bizarre.

Désolé, je ne suis pas sûr de ce qui aurait pu arriver. J'ai pris des notes sur le ticket de support, donc j'espère qu'avec leur accès, ils pourront nous donner plus de détails.

Je suis content que ça marche maintenant!

@ r3wt Je vais fermer cela, veuillez nous le faire savoir si vous rencontrez d'autres problèmes!

@mbernier le problème se reproduit.

Bonjour @ r3wt ,

Pourriez-vous s'il vous plaît contacter notre équipe d'assistance, via le ticket d'assistance d'origine que vous avez ouvert avec eux, et créer un lien vers ce fil de discussion? Je pense que quelque chose est peut-être arrivé à votre compte et qu'ils disposent des outils nécessaires pour enquêter sur votre compte.

Merci!

Meilleures salutations,

Elmer

Juste pour vous le faire savoir, j'ai eu des problèmes très similaires pour autant que je sache (encore nouveau). La solution consistait à configurer la variable de clé API dans la plate-forme d'application heroku https://devcenter.heroku.com/articles/sendgrid#setup -api-key-environment-variable
Aucun problème maintenant pour moi.

Cette page vous a été utile?
0 / 5 - 0 notes