【问题标题】:How can I config Open-edX Production Stack SMTP settings?如何配置 Open-edX Production Stack SMTP 设置?
【发布时间】:2014-04-29 10:48:00
【问题描述】:

我最近刚刚使用 Vagrant 安装了 Open-edX 在线学习平台的 Production Stack。在配置 Open-edX 平台侦听的端口时,我按照此 URL http://iambusychangingtheworld.blogspot.ca/2014/03/edx-platform-to-run-cms-at-port-80.html 的博客地址进行了操作,并且效果很好。我要感谢用户 Trinh Nguyen。但是,我还想了解更多有关配置 SMTP 的信息,以便用户在创建帐户时收到他们的激活电子邮件。这可以帮助任何刚开始 Open-edX 开发的人,包括我。最好了解需要配置哪些文件和其他重要细节。谢谢。

【问题讨论】:

标签: edx


【解决方案1】:

为使用 Juniper 的任何人添加此答案:

要编辑的参数相同,但相关文件现在位于不同的位置。您需要编辑以下文件:

/edx/etc/lms.yml

/edx/etc/studio.yml

以下是要编辑的值:

EMAIL_HOST: smtp.gmail.com
EMAIL_HOST_PASSWORD: YOUR_PASSWORD
EMAIL_HOST_USER: 'YOUR_MAIL@domain.com'
EMAIL_PORT: 587
EMAIL_USE_TLS: true

然后重启以下服务:

sudo /edx/bin/supervisorctl restart lms
sudo /edx/bin/supervisorctl restart cms
sudo /edx/bin/supervisorctl restart edxapp_worker:

注意:以下文件存在,但编辑它们不再工作了:

/edx/app/edxapp/lms.env.json
/edx/app/edxapp/cms.env.json

【讨论】:

    【解决方案2】:

    你需要下一个数据:

    • EMAIL_HOST = "主机"
    • EMAIL_PORT = 25 或 587
    • EMAIL_HOST_USER = "用户"
    • EMAIL_HOST_PASSWORD = "*******"
    • EMAIL_USE_TLS = 真

    您可以更多地更改一些配置:

    • API_ACCESS_FROM_EMAIL
    • API_ACCESS_MANAGER_EMAIL
    • BUGS_EMAIL
    • BULK_EMAIL_DEFAULT_FROM_EMAIL
    • CONTACT_EMAIL
    • DEFAULT_FEEDBACK_EMAIL
    • DEFAULT_FROM_EMAIL
    • PAYMENT_SUPPORT_EMAIL
    • PRESS_EMAIL
    • SERVER_EMAIL
    • TECH_SUPPORT_EMAIL
    • UNIVERSITY_EMAIL

    这是您在安装时必须更改的文件

    • sudo nano /edx/app/edxapp/edx-platform/cms/envs/common.py
    • sudo nano /edx/app/edxapp/edx-platform/lms/envs/aws.py
    • sudo nano /edx/app/edxapp/lms.env.json
    • sudo nano /edx/app/edxapp/cms.env.json
    • sudo nano /edx/app/edxapp/lms.auth.json
    • sudo nano /edx/app/edxapp/cms.auth.json

    最后你应该运行这个脚本:

    sudo /edx/bin/./supervisorctl restart all
    

    【讨论】:

      【解决方案3】:

      据我所知,在您完成生产堆栈部署后,SMTP 服务将按预期工作(可以发送电子邮件)。你可以做一些关于电子邮件的事情:

      • 在激活电子邮件中更改站点的域
      • ...

      这些设置位于: /edx/app/edxapp ,尤其是这两个文件:

      • cms.env.json
      • lms.env.json

      希望对你有所帮助

      三连

      更新:要通过 GMail 发送电子邮件,请将以下设置添加到 common.py:

      EMAIL_HOST = 'smtp.gmail.com' 
      EMAIL_PORT = 587 
      EMAIL_HOST_USER = 'youruser@yourdomain.com' # or youruser@gmail.com 
      EMAIL_HOST_PASSWORD = 'YourPassword' 
      EMAIL_USE_TLS = True 
      DEFAULT_FROM_EMAIL = 'you@yourdomain.com' 
      

      你应该重启edx服务,而不仅仅是nginx:

      LMS/CMS:

      sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf restart edxapp: 
      

      工人:

      sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf restart edxapp_worker:
      

      【讨论】:

      • 您好 Trinh,您能否举例说明这些文件中需要更改的变量?我已阅读有关更改 edx-platform/cms/envs/common.py 并设置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 而不是控制台的信息。我试图使用 GMAIL 作为 SMTP 服务器。我怎么能做到这一点。我试图更改 edx-platform/cms/envs/common.py 中的设置,但这不起作用。我尝试了 $ sudo service nginx restart ,但这没有帮助。再次感谢。
      • 要通过 GMail 发送电子邮件,请将以下设置添加到 common.py: EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_HOST_USER = 'youruser@yourdomain.com' # 或 youruser@gmail .com EMAIL_HOST_PASSWORD = 'YourPassword' EMAIL_USE_TLS = True DEFAULT_FROM_EMAIL = 'you@yourdomain.com' 您应该重新启动 edx 服务,而不仅仅是 nginx:LMS/CMS - sudo /edx/bin/supervisorctl -c /edx/etc/supervisord .conf 重启 edxapp:工人 - sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf 重启 edxapp_worker:
      猜你喜欢
      • 1970-01-01
      • 2013-10-14
      • 2018-10-24
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 2012-03-04
      • 2015-05-25
      相关资源
      最近更新 更多