You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Heroku部署Parse Server重置密码功能报错的配置求助

嘿,这个问题我太熟了!你这段密码重置的代码本身没问题:

@IBAction func forgotPasswordTapped(_ sender: Any) { 
    if let username = self.emailTextField.text { 
        PFUser.requestPasswordResetForEmail(inBackground: username) { (success, error) in 
            if(success) { 
                print("forgot password successful and sent") 
            } 
        } 
    } 
}

但出现的错误:

"An appName, publicServerURL, and emailAdapter are required for password reset and email verification functionality. (Code: 1, Version: 1.16.0)"
本质就是Parse Server缺少了邮件功能必需的基础配置。确实需要在Heroku上配置邮件相关设置,下面我给你一步步拆解Mailgun和SendGrid两种方案的配置流程:

一、先搞定基础配置:appName和publicServerURL

这两个是Parse Server邮件功能的基础前提,先在Heroku里配置好:

  • 登录Heroku,找到你的Parse Server应用,进入「Settings」标签页
  • 往下滑到「Config Vars」区域,点击「Reveal Config Vars」
  • 添加/修改两个环境变量:
    • APP_NAME:填你的应用名称(比如"MyTodoApp",随便取个好记的就行)
    • SERVER_URL:填你的Heroku Parse Server公开地址,格式是https://<你的应用名称>.herokuapp.com/parse(把尖括号里的内容换成你实际的应用名)
二、配置邮件适配器(二选一即可)

不管用Mailgun还是SendGrid,核心都是给Parse Server指定邮件适配器,让它能发送重置邮件。

方案1:Mailgun配置步骤

  1. 给Heroku应用添加Mailgun插件

    • 进入应用的「Resources」标签页,搜索「Mailgun」并添加(免费版完全够测试用)
    • 添加完成后,Heroku会自动在「Config Vars」里生成MAILGUN_API_KEY和MAILGUN_DOMAIN两个变量,不用手动改
  2. 配置Parse Server的邮件适配器变量

    • 回到「Settings」的「Config Vars」,点击「Add」新增一个变量:
      • 变量名:PARSE_SERVER_EMAIL_ADAPTER
      • 值:{ "module": "parse-server-simple-mailgun-adapter", "options": { "fromAddress": "noreply@你的Mailgun域名.com", "domain": "$MAILGUN_DOMAIN", "apiKey": "$MAILGUN_API_KEY" } }
    • 注意:$MAILGUN_DOMAIN和$MAILGUN_API_KEY会自动读取Heroku已有的环境变量,不用替换成实际字符串

方案2:SendGrid配置步骤

  1. 给Heroku应用添加SendGrid插件

    • 进入应用的「Resources」标签页,搜索「SendGrid」并添加(免费版足够测试)
    • 添加完成后,Heroku会自动生成SENDGRID_API_KEY环境变量
  2. 配置Parse Server的邮件适配器变量

    • 回到「Settings」的「Config Vars」,新增变量:
      • 变量名:PARSE_SERVER_EMAIL_ADAPTER
      • 值:{ "module": "parse-server-sendgrid-adapter", "options": { "fromAddress": "noreply@yourapp.com", "apiKey": "$SENDGRID_API_KEY" } }
    • 同样,$SENDGRID_API_KEY会自动读取Heroku的环境变量,无需手动替换
三、最后一步:重启应用生效

所有变量配置完后,回到应用的「Overview」标签页,点击右上角的「More」→「Restart all dynos」重启应用,确保所有配置生效。

之后再测试你的密码重置功能,应该就能正常发送邮件啦!

内容的提问来源于stack exchange,提问作者FuzzyGreenMarker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:08:31