Cannot assign requested address: when sending e-mail from Django Docker container
I have this error message, when sending an e-mail from Django Docker container.
OSError at /accounts/signup/
[Errno 99] Cannot assign requested address
Request Method: POST
Request URL: http://127.0.0.1:8000/accounts/signup/
Django Version: 4.0.10
Exception Type: OSError
Exception Value:
[Errno 99] Cannot assign requested address
Exception Location: /usr/local/lib/python3.10/socket.py, line 833, in create_connection
Python Executable: /usr/local/bin/python
Python Version: 3.10.4
Python Path:
['/code',
'/usr/local/lib/python310.zip',
'/usr/local/lib/python3.10',
'/usr/local/lib/python3.10/lib-dynload',
'/usr/local/lib/python3.10/site-packages']
Here is my configuration in settings.py
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
DEFAULT_FROM_EMAIL = "my@gmail.com"
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_USE_TLS = False
EMAIL_HOST_USER = "my@gmail.com"
EMAIL_HOST_PASSWORD = "mypassword"
Here is docker-compose.yml
.
version: "3.9"
services:
web:
build: .
command: python /code/manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- 8000:8000
depends_on:
- db
environment:
- "DJANGO_SECRET_KEY=my_key"
- "DJANGO_DEBUG=True"
db:
image: postgres:13
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- "POSTGRES_HOST_AUTH_METHOD=trust"
volumes:
postgres_data:
I'm able to send e-mail with the same config via Python
code without docker container.