2016-04-07 4 views
1

パーズサーバ2.2.6では、クラウドコードでSimpleMailgunAdapterをどのように使用しますか?パーズサーバCloudCodeで既に初期化されているmailadapterを使用

私はこのような私のparseserver初期化:

var api = new ParseServer({ 
    databaseURI: databaseUri, 
    cloud: process.env.CLOUD_CODE_MAIN, 
    appId: process.env.APP_ID || 'myAppId', 
    masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret! 
    serverURL: process.env.SERVER_URL, // Don't forget to change to https if needed 
    appName: 'AppName', 
    publicServerURL: process.env.SERVER_URL, 
    verifyUserEmails: true, 
    emailAdapter: { 
    module: 'parse-server-simple-mailgun-adapter', 
    options: { 
     fromAddress: '[email protected]', 
     apiKey: process.env.MAILGUN_API_KEY, 
     domain: process.env.MAILGUN_DOMAIN 
    } 
    } 
}); 

これが機能している(すなわち、検証電子メールが送らなっている)

を今私は新しいSimpleMailgunAdapterを作成せずに、クラウドコードからメールを送信したいです。これが機能している

var SimpleMailgunAdapter = require('parse-server-simple-mailgun-adapter'); 

    var adapter = SimpleMailgunAdapter({ 
    apiKey: process.env.MAILGUN_API_KEY, 
    domain: process.env.MAILGUN_DOMAIN, 
    fromAddress: '[email protected]' 
    }) 

:私は今日使用している何

。しかし、私は最良の方法は、私のparse-instanceからすでに初期化されたメールアダプタを取得することだと思っています。しかし、私はそれをどうやって行うのか分かりません。それがベストプラクティスと見なされますか、私は私の解決策に固執することができますか?

答えて

2

mailgunを使用してクラウドコードからメールを送信できます。

まずこのコマンドを使用してNPMモジュール[https://www.npmjs.com/package/mailgun-js]

をインストールする必要があります。

NPMは(AWSのelasticbeanstalkを使用してイム)サーバーを更新しmailgun-jsから--save

をインストール

あなたのmain.jsファイルの

その後、

var mailgun = require('mailgun-js')({apiKey: 'XXX', domain: 'XXX.com'}); 
でmailgunを初期化します

次に、クラウドコード関数を作成します。

Parse.Cloud.define("sendEmail", function(request, response) { 

    console.log("sendEmail " + new Date()); 


    var emailBody = request.params.emailBody; 
    var emailSubject = request.params.emailSubject; 
    var fromName = request.params.fromName; 
    var fromEmail = request.params.fromEmail; 
    var toEmail = request.params.toEmail; 
    var toName = request.params.toName; 

    var fromString = fromName + " <"+fromEmail+">"; 
    var toString = toName + " <"+toEmail+">" 

    console.log("emailBody " + emailBody); 
    console.log("emailSubject " + emailSubject); 
    console.log("fromName " + fromName); 
    console.log("fromEmail " + fromEmail); 
    console.log("toEmail " + toEmail); 
    console.log("toName " + toName);  

    var data = { 
     from: fromString, 
     to: toString, 
     subject: emailSubject, 
     html: emailBody 
    }; 

    mailgun.messages().send(data, function (error, body) { 
     if (error) { 
      console.log("got an error in sendEmail: " + error); 
      response.error(err); 
     }else { 
      console.log("email sent to " + toEmail + " " + new Date()); 
      response.success("Email sent!"); 
     } 
    }); 
}); 
関連する問題