Как исправить ошибку при отправке почты с помощью django в контейнере docker? (Невозможно присвоить запрашиваемый адрес)

Получаю ошибку при отправке письма как в Celery, так и в самой оболочке. Без самого докера, на локальном компьютере такой ошибки нет, а на сервере есть.

Ошибка:

    send_mail('test', 'test msg', 'volkodav2312@bk.ru', ['volkodav2312@inbox.ru'])
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python3.10/site-packages/django/core/mail/__init__.py", line 87, in send_mail
    return mail.send()
  File "/usr/local/lib/python3.10/site-packages/django/core/mail/message.py", line 298, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/usr/local/lib/python3.10/site-packages/django/core/mail/backends/smtp.py", line 124, in send_messages
    new_conn_created = self.open()
  File "/usr/local/lib/python3.10/site-packages/django/core/mail/backends/smtp.py", line 80, in open
    self.connection = self.connection_class(
  File "/usr/local/lib/python3.10/smtplib.py", line 255, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/local/lib/python3.10/smtplib.py", line 341, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/local/lib/python3.10/smtplib.py", line 312, in _get_socket
    return socket.create_connection((host, port), timeout,
  File "/usr/local/lib/python3.10/socket.py", line 845, in create_connection
    raise err
  File "/usr/local/lib/python3.10/socket.py", line 833, in create_connection
    sock.connect(sa)
OSError: [Errno 99] Cannot assign requested address

Я просмотрел другие ответы и не нашел ничего полезного. У меня настроен пароль, эта ошибка возникает в докере.

OSError: [Errno 99] Cannot assign requested address это означает, что ip/port уже занято. Измените ip/port и попробуйте снова

найти docker-compose.yml

version: '3.8'
services:
  web:
    build: .
    restart: unless-stopped
    ports: ['192.107.1.2:8000:8000'] # <-- change IP and port here
  

Попробуйте это

Вернуться на верх