2016-10-14 7 views
1

私はsendgrid npmモジュールを使用してnode.jsで顧客に電子メールを送信しています。私の電子メールはバウンスしていますが、私のサーバコード上の私の応答では「成功」していますが、私のsendgridのダッシュボードではバウンスしたメールが表示されています。私のコードは、私のコードがバウンスしたかどうか、または正常に送信された。sendgridを使用してメールがバウンスされたかどうかを知る方法

私のコードはまた、私が退会し、グループIDを使用して私の電子メールを送信していたときに、その後の私の電子メールは常にGmailの「プロモーション」セクションで提供取得され、ここでもう一つの問題は、誰がどのように教えてくださいすることができます

var options = { 
     auth: { 
      api_user: 'abc', 
      api_key: 'pass' 
     } 
    } 

    var mailer = nodemailer.createTransport(sgTransport(options)); 

    var email = { 
     to: email_id, 
     from: '[email protected]', 
     subject: 'ABC Verification Code', 
     text: "Your ABC Verification Code is " + totp 
//  html: '<b>Awesome sauce</b>' 
    }; 

    mailer.sendMail(email, function(err, res) { 
     if (err) { 
      console.log(err); 
      res.json({success : 0, message : "Sorry Please try Again"}); 
      return next(); 
     } else { 
      console.log('res: ', res); 
      res.json({success : 1, message : "Successfully Sent Otp To Email Id"}); 
      return next(); 
     } 
    }); 

以下に示します。 gmailの「更新」セクションで、自分のメールアドレスをユーザーに表示することはできますか?

答えて

1

SendGrid APIは非同期です。あなたの要求は受け入れられ、配送を含むいくつかの処理段階を経ます。 API要求は、配信が試行されるのを待たなければならない場合は、応答に非常に時間がかかります。

2つのオプションがあります。最良の選択肢は、event webhookを使用してリアルタイムでイベントを受信することです。 nodejs event webhook sample code

var express = require('express'); 
var app = express(); 

app.configure(function(){ 
    app.set('port', process.env.PORT || 3000); 
    app.use(express.bodyParser()); 
}); 

app.post('/event', function (req, res) { 
    var events = req.body; 
    events.forEach(function (event) { 
    // Here, you now have each event and can process them how you like 
    processEvent(event); 
    }); 
}); 

var server = app.listen(app.get('port'), function() { 
    console.log('Listening on port %d', server.address().port); 
}); 

また、APIを使用して抑制リストをポーリングすることもできます。 bouncesエンドポイント。

Gmailのメッセージ表示に使用するタブを制御する方法はありません。メッセージの内容と送信の習慣に関するGoogleの分析に基づいています。

関連する問題