Использование mailcatcher на Cloud9 - перекрытия портов
Я пытаюсь подтвердить mailcatcher, как описано ниже: [ Использование mailcatcher в cloud9 ide
который просит меня сделать
mailcatcher --http-port $PORT --ip $IP and you can access it from
который позволил бы мне получить доступ к mailcatcher на https://project_name-username.c9.io/
Однако для запуска команды mailcatcher мне необходимо выйти с сервера, на который я отправил подтверждение по электронной почте. В противном случае я получу следующую ошибку о том, что порт уже используется.
mailcatcher --http-port $PORT --ip $IP
Starting MailCatcher
==> smtp://0.0.0.0:1025
~~> ERROR: Something's using port 8080. Are you already running MailCatcher?
Если я выйду из сервера и запущу вместо этого mailcatcher, он сможет получить доступ к странице mailcatcher, но форма будет пустой... никаких писем для подтверждения.
Похоже, что нет никакого способа выбрать другой порт для моего приложения для запуска на Cloud9, хотя в моем последнем вопросе я намекнул, что порты 8081 и 8082 доступны (я до сих пор не нашел способ работать с этим из). Кроме того, не нашли способ запустить mailcatcher на 8081 или 8082.
Если кто-нибудь знает, как обойти это, пожалуйста, дайте мне знать!
2 ответа
MailCatcher запускает две разные службы: SMTP для перехвата электронной почты из вашего приложения и веб-интерфейс HTTP для просмотра перехваченной электронной почты.
По умолчанию он привязывает оба к локальному IP-адресу 127.0.0.1, так что вы можете использовать его только на той же машине, на которой работает MailCatcher. IP-адрес и порт для каждого могут быть настроены независимо. --ip
является ярлыком для изменения адреса для обеих служб одновременно. Это может означать, что вы больше не можете доставлять электронную почту на локальный SMTP-адрес. Таким образом, предыдущий ответ почти правильный, но следует изменить только HTTP-адрес:
- Настройте приложение для доставки электронной почты
127.0.0.1:1025
используя SMTP для обычных инструкций MailCatcher. - Запустите свой сервер приложений на порт
8080
с помощью$PORT
Запустите MailCatcher, предоставляющий сервис HTTP, используя
$IP
и другой порт:mailcatcher --http-ip $IP --http-port 8081
Откройте MailCatcher, используя URL-адрес рабочей области, но с указанным портом:
http://<workspace-name>-<username>.c9.io:8081
Мы только внедряем поддержку нескольких портов, поэтому теперь вам должны быть доступны 8080, 8081 и 8082. Вот как вы можете получить к ним доступ:
- Запустите сервер приложений на порту 8080, используя $PORT
Запустите mailcatcher с:
mailcatcher --http-port 8081 --ip $IP
В ваших исходящих письмах вы должны установить URL для использования
https://<workspace-name>-<username>.c9.io:8081
для службы Mailcatcher (обратите внимание на:8081
)
Надеюсь это поможет.