首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法设置邮件发送的smtp。

无法设置邮件发送的smtp。
EN

Stack Overflow用户
提问于 2022-03-24 15:21:42
回答 1查看 111关注 0票数 0

我为email_settings添加了一个新的email_settings文件(保存在tcms_settings_dir上),并重新启动了docker容器,以刷新设置并获取新文件。email_config文件如下:

代码语言:javascript
复制
import os
import pathlib
import tempfile
from importlib import import_module

import pkg_resources
from django.contrib.messages import constants as messages
from django.urls import reverse_lazy
from django.utils.translation import gettext_lazy as _

import tcms

SERVER_EMAIL = DEFAULT_FROM_EMAIL = 'my@emailcom'
# additional Kiwi TCMS setting
EMAIL_SUBJECT_PREFIX = '[Kiwi-TCMS] '

EMAIL_HOST = 'mail.my_server.com'
EMAIL_PORT = 587 
EMAIL_HOST_USER = 'admin@email.com'
EMAIL_HOST_PASSWORD = 'my_pass'

EMAIL_USE_TLS = True

然后我尝试使用: sudo exec -it kiwi_web /Kiwi/manage.py sendtestemail my_email@email.com

我得到了以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/Kiwi/manage.py", line 12, in <module> execute_from_command_line(sys.argv)

  File "/venv/lib64/python3.8/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line utility.execute()

  File "/venv/lib64/python3.8/site-packages/django/core/management/__init__.py", line 440, in execute self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 414, in run_from_argv self.execute(*args, **cmd_options)

  File "/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 460, in execute output = self.handle(*args, **options)

  File "/venv/lib64/python3.8/site-packages/django/core/management/commands/sendtestemail.py", line 35, in handle
    send_mail(File "/venv/lib64/python3.8/site-packages/django/core/mail/__init__.py", line 87, in send_mail return mail.send()

  File "/venv/lib64/python3.8/site-packages/django/core/mail/message.py", line 298, in send
    return self.get_connection(fail_silently).send_messages([self])

  File "/venv/lib64/python3.8/site-packages/django/core/mail/backends/smtp.py", line 124, in send_messages new_conn_created = self.open()

  File "/venv/lib64/python3.8/site-packages/django/core/mail/backends/smtp.py", line 80, in open self.connection = self.connection_class(File "/usr/lib64/python3.8/smtplib.py", line 253, in __init__ (code, msg) = self.connect(host, port)

  File "/usr/lib64/python3.8/smtplib.py", line 337, in connect
    self.sock = self._get_socket(host, port, self.timeout)

  File "/usr/lib64/python3.8/smtplib.py", line 308, in _get_socket
    return socket.create_connection((host, port), timeout,

  File "/usr/lib64/python3.8/socket.py", line 808, in create_connection
    raise err

  File "/usr/lib64/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)

OSError: [Errno 99] Cannot assign requested address

我已经检查了承载坞容器的计算机是否可以与smtp服务器(pinged)连接,并且smtp设置是正确的,因为它们目前正在一个laravel项目中使用。我不知道是否必须打开码头容器上的端口才能与smtp服务器通信。

你能帮我弄清楚是什么原因造成的吗?

EN

回答 1

Stack Overflow用户

发布于 2022-03-27 10:54:47

假设您的配置是正确的,则此错误是一般的网络错误。在网络层本身,有太多的事情会出错。

  • ,您是否试图验证您的设置确实正确?
  • ,您是否验证容器和SMTP服务器之间的网络连接?例如,使用一些命令行工具?
  • ,您是否检查防火墙和实际SMTP配置中是否存在明显的问题,如允许/阻塞特定端口和地址?

操作要求:如果您想在这里取得任何进展,将在原始问题中提供所有上述信息。

更新:提供的细节仍然没有帮助,因为这个错误太笼统,无法理解正在发生的事情。这是某种网络问题,但如果不能访问运行容器的系统(并公开电子邮件凭据),我们就无法调试任何东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71605120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档