У меня есть серверная система, которая поддерживает только отправку электронной почты на ООНоднако аутентифицированный SMTP-сервер, в конечном итоге, он должен проходить через аутентифицированный SMTP-сервер в общедоступном Интернете.
Моя идея заключалась в том, чтобы отправить его внутренне на локальный SMTP-сервер без аутентификации, а затем передать этот промежуточный сервер на аутентифицированный общедоступный SMTP-сервер (например, gmail) с соответствующими учетными данными.
Можно ли это сделать, любые рекомендуемые SMTP-серверы?
Между прочим, поиск в Google с поисковыми терминами «не аутентифицирован» и «аутентифицирован» в одном и том же запросе, похоже, не уводит меня далеко, он просто дает мне массу результатов, когда люди хотят получить доступ к SMTP-серверам без аутентификации. Ничего не говорится о передаче от unauth к auth с неповрежденными учетными данными. (Или что-то в этом роде).
Привет, Майк.
Если вы работаете с Windows, виртуальная служба SMTP IIS может быть установлена в большинстве версий Windows Server, которая может быть настроена для приема анонимных входящих подключений и пересылки на смарт-хост, прошедший проверку подлинности, почти так же, как вариант Мэтта Герака:
В свойствах службы vSMTP в диспетчере IIS:
В Access
вкладка имеет Authenticaton
кнопка, с которой можно поставить галочку Anonymous access
- это разрешит входящие SMTP-соединения без аутентификации
В Access
вкладка также имеет Connection Control
и Relay
кнопки, которые я, вероятно, использовал бы для ограничения доступа к SMTP для известных IP-адресов (если вы запускаете свою службу с того же сервера, вы можете ограничить их 127.0.0.1
, например)
В Delivery
вкладка имеет Advanced
кнопка, с помощью которой вы можете настроить Smart host
, который является именем хоста / IP-адресом вашего аутентифицированного SMTP-сервера (я бы отключил Attempt direct delivery
здесь, поэтому он всегда использует смарт-хост)
В Delivery
на вкладке также есть Outbound Security
кнопку, где вы можете определить Basic authentication
имя пользователя / пароль / настройки TLS, предоставленные администраторами вашего аутентифицированного SMTP-сервера.
Выбрав правильную комбинацию этих настроек, вы сможете добиться того, что ищете.
Дж.
В Postfix это позволяют сделать следующие настройки:
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
smtp_sasl_security_options = noanonymous
В моем случае мне пришлось использовать sender_dependent_relayhost_maps
для перенаправления писем, отправленных из Gmail, чтобы указать на stunnel, который сделает для меня упаковку SSL / TLS:
my_gmail_address@gmail.com [127.0.0.1]:23456
и stunnel будет настроен соответствующим образом:
[smtp-tls-wrapper-for-gmail]
accept = 23456
client = yes
connect = smtp.googlemail.com:smtps
тогда карты паролей будут в /etc/postfix/sasl_password
. Это простая карта:
my_gmail_address@gmail.com my_gmail_address@gmail.com:my_gmail_password
Смотрите также postconf(5)
Будьте осторожны с указанными выше настройками: они позволяют любому приложению на вашем компьютере отправлять электронную почту, аутентифицированную как вашу учетную запись Gmail. Это решение, которое делает то, что вы просили, возможно, это не лучшее решение для вашего конкретного случая использования.
Вы можете очень легко настроить это с помощью Haraka. Просто настройте плагин smtp_forward для использования аутентификации, и все будет просто работать (tm).
Для этого в конфигурационный файл config / smtp_forward.ini добавьте следующее:
host=your_outbound_server_or_IP
; could be 587
port=25
[auth]
type=plain
user=your_valid_username
pass=your_password
В config / plugins вам понадобится всего одна строка:
queue/smtp_forward
А затем запустите Haraka, используя инструкции, которые вы можете найти в Интернете. Он просто должен идеально работать для ваших нужд.