Ошибка Docker Mailhog с Docker django: [Errno 111] Connection refused

У меня есть 2 контейнера, запущенных через docker-compose, один с Django, другой с Mailhog. Но когда я отправляю почту через Django python manage.py runserver, можно отправить, если я запускаю docker-compose up, когда я отправляю почту, возвращается эта ошибка:

[Errno 111] Соединение отказано

Мой docker-compose это:

services:
    mailhog:
        image: mailhog/mailhog
        logging:
            driver: 'none' # disable saving logs
        ports:
            - 1025:1025 # smtp server
            - 8025:8025 # web ui
        networks:
            - my_net
    api:
        build: .
        container_name: my_api
        command: python manage.py runserver 0.0.0.0:8000
        volumes:
            - .:/src
        ports:
            - '8000:8000'
        env_file:
            - '.env'
        depends_on:
            - mailhog
        networks:
            - my_net

networks:
    my_net:

Мой файл env имеет следующий вид:

EMAIL_HOST = '0.0.0.0'
EMAIL_PORT = '1025'
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''

Что мне делать?

Нашел, пришлось изменить 2 вещи:

1- изменил мой docker-compose, добавив имя_контейнера к контейнеру mailhog и связав api с mailhog

services:
    mailhog:
        image: mailhog/mailhog
        container_name: mailhog
        logging:
            driver: 'none' # disable saving logs
        ports:
            - 1025:1025 # smtp server
            - 8025:8025 # web ui
        networks:
            - my_net
    api:
        build: .
        container_name: my_api
        command: python manage.py runserver 0.0.0.0:8000
        volumes:
            - .:/src
        ports:
            - '8000:8000'
        env_file:
            - '.env'
        depends_on:
            - mailhog
        networks:
            - my_net
        links:
            - 'mailhog'

networks:
    my_net:

2- и изменил мой EMAIL_HOST на имя_контейнера докера

EMAIL_HOST = 'mailhog'
EMAIL_PORT = '1025'
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
Вернуться на верх