SSH туннель для sendmail
Я схожу с ума здесь, пытаясь настроить мою систему.
У меня есть ноутбук дома и рабочая станция на работе. Я использую Mutt и Sendmail. У меня есть домашний интернет-провайдер, который находится во многих черных списках, поэтому получатель может блокировать любое электронное письмо, которое я отправляю с моего ноутбука через интернет-провайдера. Я могу использовать SSH на своей рабочей станции и использовать Mutt там в интерактивном режиме, но это медленно и утомительно. Я загружаю свою электронную почту с рабочего сервера на ноутбук с fetchmail.
Я пытался заставить ноутбук отправлять почту через рабочий почтовик, используя
ssh -L 25:workstation.work.com:25 workstation.work.com
но кажется, что sendmail не может быть запущен, когда я делаю это. Когда я пытаюсь получить почту с рабочей станции на ноутбук, sendmail должен быть запущен на ноутбуке, чтобы почта доставлялась локально на ноутбук. Когда почта проходит, она отклоняется, потому что имя хоста не распознается. Я попытался изменить имя хоста в Mutt. Похоже, это ни на что не влияет.
Поэтому я не совсем понимаю, как настроить Mutt, Sendmail и SSH на моем ноутбуке, чтобы я мог составлять и отправлять электронные письма с моего ноутбука так, чтобы они доставлялись, но я также хочу получать свои электронные письма с сервера с помощью fetchmail и доставлено на месте.
Любая помощь приветствуется.
2 ответа
Если вы запустите этот туннель ssh, вы не сможете запустить sendmail локально, потому что в противном случае он будет прослушивать порт 25, а не ваш туннель. И fetchmail по умолчанию хочет, чтобы локальный почтовый сервер доставлял на него, хотя вы можете настроить его для доставки в файл mbox напрямую, если хотите.
Вместо этого я запускаю postfix на своем ноутбуке и настраиваю его на доставку почты на localhost:2526, используя relayhost=[127.0.0.1]:2526
в /etc/postfix/main.cf. Затем я запускаю туннель SSH ssh -N -L 2526:localhost:25 ptomblin@myserver
так что когда postfix идет доставлять, он туннелирует через туннель. А локальные почтовые клиенты, такие как mutt и fetchmail, видят локальный почтовый сервер, работающий на порту 25, как они ожидают.
Пол: твой ответ сделал дело! Я был сбит с толку и должен был указать -L 54321:localhost:25 вместо -L 54321:remotehost:25. Обратите внимание на опечатку в вашей эстафете. Квадратная скобка должна быть закрыта перед двоеточием, таким образом: relayhost=[127.0.0.1]:54321. Спасибо за совет по постфиксу. Я всегда использовал sendmail раньше, несколько слепо, и теперь по вашему предложению установил и использовал postfix и считаю конфигурацию абсолютным удовольствием по сравнению с sendmail!