问题描述
我已经在我的 docker-compose.yml 文件中设置了 STMP 电子邮件配置。
environment:
DEFAULT_FROM_EMAIL: [email protected]
EMAIL_HOST: smtp.office365.com
EMAIL_PORT: 25
EMAIL_HOST_USER: [email protected]
EMAIL_HOST_PASSWORD: Aald1231w
EMAIL_USE_TLS: 'True'
EMAIL_USE_SSL: 'True'
尝试使用 docker exec 命令发送邮件时出现以下错误,
docker exec -it kiwi_web /Kiwi/manage.py sendtestemail [email protected]
错误:
docker exec -it kiwi_web /Kiwi/manage.py sendtestemail [email protected]
Traceback (most recent call last):
File "/Kiwi/manage.py",line 12,in <module>
execute_from_command_line(sys.argv)
File "/venv/lib/python3.6/site-packages/django/core/management/__init__.py",line 401,in execute_from_command_line
utility.execute()
File "/venv/lib/python3.6/site-packages/django/core/management/__init__.py",line 395,in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/venv/lib/python3.6/site-packages/django/core/management/base.py",line 330,in run_from_argv
self.execute(*args,**cmd_options)
File "/venv/lib/python3.6/site-packages/django/core/management/base.py",line 371,in execute
output = self.handle(*args,**options)
File "/venv/lib/python3.6/site-packages/django/core/management/commands/sendtestemail.py",line 33,in handle
recipient_list=kwargs['email'],File "/venv/lib/python3.6/site-packages/django/core/mail/__init__.py",line 61,in send_mail
return mail.send()
File "/venv/lib/python3.6/site-packages/django/core/mail/message.py",line 284,in send
return self.get_connection(fail_silently).send_messages([self])
File "/venv/lib/python3.6/site-packages/django/core/mail/backends/smtp.py",line 102,in send_messages
new_conn_created = self.open()
File "/venv/lib/python3.6/site-packages/django/core/mail/backends/smtp.py",line 62,in open
self.connection = self.connection_class(self.host,self.port,**connection_params)
File "/usr/lib64/python3.6/smtplib.py",line 251,in __init__
(code,msg) = self.connect(host,port)
File "/usr/lib64/python3.6/smtplib.py",line 336,in connect
self.sock = self._get_socket(host,port,self.timeout)
File "/usr/lib64/python3.6/smtplib.py",line 307,in _get_socket
self.source_address)
File "/usr/lib64/python3.6/socket.py",line 724,in create_connection
raise err
File "/usr/lib64/python3.6/socket.py",line 713,in create_connection
sock.connect(sa)
OSError: [Errno 101] Network is unreachable
你能告诉我在这里做错了什么吗?,我使用相同的配置来发送邮件,也在在线SMTP工具中尝试过这个配置。这些设置没问题。
注意:当我尝试使用不带单引号的以下行时,得到错误“services.web.environment.EMAIL_USE_TLS contains true,it is an invalid type,it should be a string,number,or a null”。所以这里使用了单引号。
EMAIL_USE_TLS: 'True'
EMAIL_USE_SSL: 'True'
解决方法
你能告诉我这里做错了什么吗?,
您正在将电子邮件设置配置为环境变量,而 Kiwi TCMS 从一个不关心外部环境的配置文件中读取它们。有关如何覆盖此文件,请参阅: https://kiwitcms.readthedocs.io/en/latest/installing_docker.html#customization