2016-06-07 45 views
6

我在Heroku Parse-Server上運行我的遷移應用程序。當我嘗試使用'requestPasswordResetInBackground'從我的應用發送密碼重置電子郵件時,出現以下錯誤:無法從heroku上的parse-server發送電子郵件

「密碼重置功能需要一個appName,publicServerURL和emailAdapter。」。

它用於在Parse.com上正常工作。

我已閱讀有關實施此缺失功能的舉措。有人知道這樣的實現是否已經可用或即將推出,如果有的話如何配置它?

謝謝!

+0

可能會解決您的問題的類似問題:http://stackoverflow.com/questions/36415650/parse-open-source-server-reset-password-error/37748554#37748554 – tanz

回答

3
  1. 你需要到mailgun.com並註冊一個帳戶。然後在mailgun中創建一個新域。您將獲得該域的api密鑰。
  2. 然後您需要通讀解析遷移自述文件 https://github.com/ParsePlatform/parse-server/blob/master/README.md。有mailgun的例子。它位於分析服務器中,因此您無需安裝任何額外的模板,也不需要在index.js處添加任何內容。

  3. 在您的index.js中添加以下代碼。它應該是你的服務器初始化

    var server = ParseServer({ 
    //... your other configurations 
    // here the configuration for email begins 
    verifyUserEmails: true, //depends on your needs, you can set it to false 
    emailVerifyTokenValidityDuration: 2 * 60 * 60, // in seconds (2 hours = 7200 seconds) 
    preventLoginWithUnverifiedEmail: false, // defaults to false 
    
    publicServerURL: 'https://example.com/parse', 
    // Your apps name. This will appear in the subject and body of the emails that are sent. 
    appName: 'Parse App', 
    
    // The email adapter 
    emailAdapter: { 
    module: 'parse-server-simple-mailgun-adapter', 
    options: { 
        // The address that your emails come from 
        fromAddress: '[email protected]', 
        // Your domain from mailgun.com 
        domain: 'example.com', 
        // Your API key from mailgun.com 
        apiKey: 'key-mykey', 
        } 
        } 
    

當你改變了你的解析服務器更新index.js後,您將能夠從mailgun獲取電子郵件。可能需要幾分鐘時間才能收到電子郵件。

然後你還需要在你自己的服務器上實現電子郵件重置html頁面。我還沒有找到一個好的教程。

+0

index.js文件在哪裏?我找不到它。 – grant

+1

如果您直接通過heroku按鈕安裝,則不會找到它。你必須自己一步步安裝Parse服務器才能知道index.js在哪裏。 – flame3

+0

因此,如果我已部署到heroku並已發佈我的應用程序,我將無法訪問此index.js文件? – grant