github monitor项目 邮件发送调试问题处理笔记

Django项目中,import project_name失败,造成 project apps目录下的 tt.py processors.py 无法单独执行

解决方案:
注意到 Dockerfile 里通过执行如下shell来启动django服务:
/home/chen/code/Github-Monitor/docker/run.sh

查看该 run.sh

发现里面有一句:
export PYTHONPATH=/home/docker/Github-Monitor/server/

刚好配合 processors.py 开头中注释说的:
# 调试时去掉下面的注释、命令行执行 PYTHONPATH=. venv/bin/python github_monitor/apps/monitor/processors.py
# import django, os
# os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “github_monitor.settings”)
# django.setup()

对比目录结构:
/home/chen/code/Github-Monitor/server/github_monitor/apps/monitor

判断要在docker exec -it container_id /bin/bash中的如下目录:
/home/docker/Github-Monitor/server
执行: PYTHONPATH=. python3 github_monitor/apps/monitor/processors.py
只有这样才能成功单独运行单个文件

对应宿主机的目录为: /home/chen/code/Github-Monitor/server/

====================================================
下面的这个配置值经过测试可以正常触发扫描任务的邮件提醒
# Email Settings for 163
# If you do not fill it in, it is None/False
EMAIL_HOST=”smtp.163.com” # smtp host
EMAIL_PORT=”25″ # smtp port
FROM_EMAIL=”xxx@163.com” # 发件人
EMAIL_HOST_USER=”xxx@163.com” # email user, 如为匿名发送,将值设为空字符即可
EMAIL_HOST_PASSWORD=”xxxxxxxx” # email password, 使用授权码,避免暴露邮箱登陆密码
EMAIL_USE_TLS=”True” # 与SMTP服务器通信时是否使用TLS(安全)连接, 可选True/False
EMAIL_USE_SSL=”False” # 与SMTP服务器通信时是否使用SSL(安全)连接, 可选True/False

# Email Settings for QQ
# If you do not fill it in, it is None/False
EMAIL_HOST=”smtp.qq.com” # smtp host
EMAIL_PORT=”465″ # smtp port
FROM_EMAIL=”xxx@qq.com” # 发件人
EMAIL_HOST_USER=”xxx@qq.com” # email user, 如为匿名发送,将值设为空字符即可
EMAIL_HOST_PASSWORD=”xxxxxxxx” # email password, 使用授权码,避免暴露邮箱登陆密码
EMAIL_USE_TLS=”False” # 与SMTP服务器通信时是否使用TLS(安全)连接, 可选True/False
EMAIL_USE_SSL=”True” # 与SMTP服务器通信时是否使用SSL(安全)连接, 可选True/False

Leave a Reply

Your email address will not be published.