Heroku NodeJSアプリでSendGridアドオンを設定しようとしています。 APIキーを作成し、環境変数として設定しました。
APIキー全体は次のようになります:SG.actualValue.bbb_cccccc
最初に行った設定では、キー全体をSENDGRID_API_KEYとして設定していたため、次のエラーが発生しました。
APIキーがSGで始まっていません。
したがって、私は間違いを認識し、環境変数を設定解除して、キー全体のactualValue部分にのみ再設定しました。
ただし、同じエラーが発生します。同じことをやり直すか、ターミナル(実際には、ノートパソコン全体)を再起動しました。
これは、SendGridセットアップページから実行しようとしているテストコードです。
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY)
const msg = {
to: '[email protected]',
from: '[email protected]',
subject: 'Sending with Twilio SendGrid is Fun',
text: 'and easy to do anywhere, even with Node.js',
html: '<strong>and easy to do anywhere, even with Node.js</strong>',
};
sgMail.send(msg);
新しいキーを作成して設定しようとしましたが、同じエラーが発生します。キー全体に設定してみましたが、「。SG」またはbbb_cccccの部分はありません。前もって感謝します。
hello thereノードjsを使用している場合は、sendgrid/nodemailerモジュールを必要とするファイル内にrequire( 'dotenv')。config()があることを確認してください。これがないと、sendgridトランスポーターはapi_keyの代わりに未定義の値を持ちます。私も同じ問題に遭遇し、解決しました。
私はSendGrids v3とdotenv v8.2を使用しています。Node.jsSendGridで環境ファイルSendGrid.envをセットアップし、その中にエクスポートSENDGRID_API_KEYを含めました。
sendEmailファイルの先頭は次のようになります。require( 'dotenv')。config(); const sgMail = require( '@ sendgrid/mail'); const apiKey = ${process.env.SENDGRID_API_KEY}
; console.log( "SendGrid key"、apiKey);
私の.envファイルは次のようになります:SENDGRID_API_KEY = 'SG。{left blank} ................ 0EmA' ANOTHER_API_KEY = 'ANOTEHERKEY'
これがお役に立てば幸いです。