Использование mailcatcher в Cloud9 — порты перекрываются

Я пытаюсь подтвердить mailcatcher, как описано ниже: [Использование mailcatcher в облаке9 идея

который просит меня сделать

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.

Если кто-нибудь знает, как обойти это, пожалуйста, дайте мне знать!


person SeoKim    schedule 22.07.2015    source источник


Ответы (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

person sj26    schedule 27.07.2017
comment
Я пробовал это, и я считаю, что это правильный ответ по сравнению с Мутаххиром, однако я все еще не нахожу электронные письма в папке «Входящие» почтового ящика, когда я их отправляю. Не уверен, что происходит. Может у меня какой-то код остановил почту вообще в разработке, надо будет поковыряться. :( Кто-нибудь заставил mailcatcher работать на cloud9, кто может подтвердить это решение? - person Sean Ahrens; 29.08.2017
comment
Это решение в значительной степени сработало для меня. Однако функция веб-сокета MailCatcher, похоже, не работает с Cloud9. Следовательно, мне приходится вручную обновлять вкладку браузера MailCatcher, чтобы увидеть новые электронные письма. Тем не менее, этот пост был очень полезным. Спасибо. - person Tom Aranda; 03.10.2017

Мы только внедряем поддержку нескольких портов, поэтому 8080, 8081 и 8082 уже должны быть доступны для вас. Вот как вы можете получить к ним доступ:

  • Запустите сервер приложений на порту 8080, используя $PORT
  • Запустите mailcatcher с помощью:

    mailcatcher --http-port 8081 --ip $IP

  • В исходящих электронных письмах вы должны установить URL-адрес для использования https://<workspace-name>-<username>.c9.io:8081 для службы mailcatcher (обратите внимание на :8081)

Надеюсь это поможет.

person Mutahhir    schedule 22.07.2015
comment
запуск ' mailcatcher --http-port 8081 --ip $IP ' и доступ к [ https://‹workspace-name›-‹username›.c9.io:8081/ ] дает мне Кажется, приложение не запущено здесь! - person SeoKim; 22.07.2015
comment
запуск ' mailcatcher --http-port 8082 --ip $IP ' и доступ к [ https://‹workspace-name›-‹username›.c9.io:8082/ ] дает мне ошибку соединения SSL - person SeoKim; 22.07.2015
comment
когда я просто запускаю по умолчанию 8080 (mailcatcher --http-port $PORT --ip $IP), страница mailcatcher загружается нормально.. возможно, упомянутые вами порты еще не доступны? Если это имеет какое-то значение, я в настоящее время использую Интернет в Корее.. Спасибо за помощь! - person SeoKim; 22.07.2015
comment
Это изменяет службу HTTP и SMTP для привязки к $IP. Кроме того, HTTP и SMTP привязываются к разным портам, поэтому доставка на 8081 работать не будет. И MailCatcher использует http, а не https. Я добавил еще один ответ с некоторыми исправлениями. - person sj26; 27.07.2017