参考文章:https://github.com/CDOT-EDX/ProductionStackDocs/wiki/Enable-SMTP-for-EDX-(Production-Stack)

具体到生产或开发环境做的事情:
1.修改文件:
    lms/envs/content.py         Line15        EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
    cms/envs/devstack.py        Line26        EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
    lms/envs/devstack.py         Line30        EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
    cms/envs/common.py         Line360        EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
    lms/envs/common.py         Line730        EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
   将以上 'django.core.mail.backends.console.EmailBackend'改成 'django.core.mail.backends.smtp.EmailBackend'

(以下以163邮箱为例,如果是其他邮箱,注意开启邮箱的SMTP和POP服务,并查下SMTP端口是多少,163 smtp 非ssh端口为25)
2.修改环境变量
  a. cms.env.json
    "DEFAULT_FROM_EMAIL": "xxxxx@163.com",
    "EMAIL_BACKEND": "django.core.mail.backends.smtp.EmailBackend",
    "EMAIL_HOST": "smtp.163.com",
    "EMAIL_PORT": 25,
    "EMAIL_USE_TLS": True,

b. cms.auth.json
    "EMAIL_HOST_PASSWORD": "邮箱的真实密码",
        "EMAIL_HOST_USER": "xxxxx@163.com",

c. lms.env.json
    "DEFAULT_FROM_EMAIL": "xxxxx@163.com",
    "EMAIL_BACKEND": "django.core.mail.backends.smtp.EmailBackend",
    "EMAIL_HOST": "smtp.163.com",
    "EMAIL_PORT": 25,
    "EMAIL_USE_TLS": true,

d. lms.auth.json
    "EMAIL_HOST_PASSWORD": "邮箱的真实密码",
        "EMAIL_HOST_USER": "xxxxx@163.com",

3.修改配置文件
  /devstack/edx-platform/cms/envs/common.py
    EMAIL_HOST = 'smtp.163.com'
    EMAIL_PORT = 25
    EMAIL_USE_TLS = True
    EMAIL_HOST_USER = 'xxxxx@163.com'
    EMAIL_HOST_PASSWORD = '邮箱的真实密码'
    DEFAULT_FROM_EMAIL = 'xxxxx@163.com'
    DEFAULT_FEEDBACK_EMAIL = 'xxxxx@163.com'
    SERVER_EMAIL = 'xxxxx@163.com'

/devstack/edx-platform/lms/envs/aws.py
    EMAIL_HOST = ENV_TOKENS.get('EMAIL_HOST', 'smtp.163.com')  # django default is localhost
    EMAIL_PORT = ENV_TOKENS.get('EMAIL_PORT', 25)  # django default is 25
    EMAIL_USE_TLS = ENV_TOKENS.get('EMAIL_USE_TLS', True)  # django default is False
    ...
    EMAIL_HOST_USER = AUTH_TOKENS.get('EMAIL_HOST_USER', 'xxxxx@163.com')  # django default is ''
    EMAIL_HOST_PASSWORD = AUTH_TOKENS.get('EMAIL_HOST_PASSWORD', '邮箱的真实密码')  # django default is ''

edx 配置smtp发送邮件的更多相关文章

  1. gitlab配置通过smtp发送邮件(QQ exmail腾讯企业为例)

    gitlab配置通过smtp发送邮件(QQ exmail腾讯企业为例) 首先祭出官网文档链接:https://docs.gitlab.com/omnibus/settings/smtp.html 其实 ...

  2. wordpress配置SMTP服务发送邮件(qq邮箱)

    wordpress有一个注册功能,填了用户名和邮箱后,会收到一封邮件,邮件里有一个链接,点击该链接可以获得密码和修改密码.但是,最开始,你会发现,等半天都没有收到邮件,再等到猴年马月也不会收到. 但是 ...

  3. SSRS1:配置SMTP Server发送mail

    为了使用SSRS发送mail,必须为Reporting service配置SMTP Server. 1,在Reporting Service Configuration Manager中配置Email ...

  4. Reporting Service 配置SMTP和设置订阅出现的异常

    SSRS能够按照schedule,以mail的形式发送report,这是通过设置subscription report来实现的. 1,发送mail需要在SSRS中配置SMTP Server,如果没有R ...

  5. play for scala 通过网易smtp发送邮件

    最近用play来做一个小项目,里面用到了发送邮件的功能.这里我将这部分抽出来分享,毕竟目前来看paly于scala方面的中文资料在网上还是毕竟少,希望我的这篇文章能为有需要的人提供一点思路. 下面写下 ...

  6. Linux简单配置SendMail发送邮件

    本文简单整理了一下如何在Linux服务器上安装.配置SendMail发送邮件的步骤,此文不是配置邮件服务器,具体测试环境为CentOS Linux release 7.2.1511 (Core) ,如 ...

  7. jenkins配置自动发送邮件,抄送

    1.安装插件.系统管理-安装插件:可选插件:搜索Email Extension 2.设置全局变量.系统管理-系统设置:a.Jenkins Location 设置发送方邮件--- b.Extended ...

  8. 运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容

    运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客采用腾讯邮箱,想必大家都对QQ很了解,所以 ...

  9. Python中使用SMTP发送邮件以及POP收取邮件

    假设我们自己的电子邮件地址是from@163.com,对方的电子邮件地址是to@sina.com(这里的地址虚拟的),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email ...

随机推荐

  1. 20160502-struts2入门--国际化

    一.国际化 准备资源文件,资源文件的命名格式如下: baseName_language_country.properties baseName_language.properties baseName ...

  2. xp 中的IIS安装成功之后,访问网页显示没有权限访问解决方法

    在做xp的IIS发布网站时遇到一个问题就是当你访问网站的时候,显示没有权限访问网站,但是我已经开启了匿名访问网站了,怎么还没有权限访问呢?后来经过上网搜资料解决,当时很多网上都说没打开匿名访问,当时我 ...

  3. oracle中的exists 和not exists 用法 in与exists语句的效率问题

    博文来源(oracle中的exists 和not exists 用法):http://chenshuai365-163-com.iteye.com/blog/1003247 博文来源(  in与exi ...

  4. ###《Effective STL》--Chapter7

    点击查看Evernote原文. #@author: gr #@date: 2014-08-31 #@email: forgerui@gmail.com Chapter7 在程序中使用STL Topic ...

  5. Linq 中的TakeWhile 和 SkipWhile

    这两个概念容易搞混 理解了一番后 在这里写下便于记忆 SkipWhile 可以理解为如果条件满足  就一直跳过   知道不满足后 就取剩下的所有元素(后面的不会再判断) TakeWhile 可以理解为 ...

  6. 移动前端开发之viewport的深入理解(转载)

    本文为转载文章,原文网址:http://www.cnblogs.com/2050/p/3877280.html 在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有 ...

  7. angularJs中ui-router的使用

    学习使用angular中,ui-route是其中的一个难点,简单使用没什么问题,但涉及到多级嵌套,就感觉有茫然,查了很多资料,踩过很多坑,到目前为止也不能说对ui-route有全面了解:这里只是把填补 ...

  8. JavaScript 继承的几种模式

    /** * Created by 2016 on 2016/6/5. */ //1.原型链继承 //把子类的原型,定义为超类的实例 通过原型来访问超类的方法和属性 function Person(){ ...

  9. 正确理解javascript的this关键字

    javascript有this关键字,它和javascript的执行上下文有着密切的关系,就是说this具体指代什么要根据它的上下文来判断. 一.this和对象的关系    var Person={ ...

  10. 算法之插入排序(inertionSort)

    插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据,适用于少量数据的排序,时间复杂度为O(n^2). 插入排序属于稳定排序. 插入排序不需要构造新的数据 ...