Что вы используете в качестве облегченного SMTP только для исходящей электронной почты?
Я запускаю приложение, которое отправляет электронные письма через SMTP, когда события происходят время от времени, и мне не нужен полнофункциональный почтовый сервер.
РЕДАКТИРОВАТЬ: Я более чем счастлив использовать что-то вроде postfix (и делать), если это лучший выбор. Я думал, что может быть что-то гораздо проще, что выходит за рамки.
email
software-rec
smtp
FlappySocks
источник
источник
Ответы:
Существует несколько вариантов минимальных агентов пересылки почты только для ретрансляции (MTA или «почтовые серверы»), некоторые из которых были упомянуты в других ответах:
Чтобы любой из них работал, вам нужен где-то полноценный MTA, который будет далее ретранслировать ваши сообщения (известный как «почтовый концентратор»), и настоятельно рекомендуется контролировать этот почтовый концентратор. Плохие вещи ™ могут случиться иначе.
источник
ИМХО, самый простой способ сделать это с постфиксом. Вы можете настроить его как легкое исходящее реле с помощью следующих команд:
Пока SMTP-сервер, указанный в
relayhost
, не требует аутентификации, позволяет ретранслировать или является допустимым адресатом для адреса получателя, это будет работать.myorigin
Параметр будет домен по умолчанию имя , которое. Поэтому, если вы отправите письмо на foo, оно будет отправлено на адрес foo@my.domainname.com. Письмо, отправленное пользователем bar, будет отправлено с bar@my.domainname.com.Если вам требуется аутентификация и вы хотите поддерживать TLS, также выполните следующие команды:
Тогда в
/etc/postfix/sasl_password_maps
это содержание:Вся почта будет отправлена на ваш relayhost с указанным именем пользователя и паролем.
источник
relayhost=other.mailserver.com:465
тогдаsmtp_tls_wrappermode=yes
и ,smtp_tls_security_level=encrypt
но он пытается использовать локальный пользователь , как авт. Я должен как-то переписать пользователя авторизации.Предполагая, что вам нужна программа, которую вы можете запустить из оболочки, например sendmail (8), возможно, MSMTP подойдет вам? Он может подключаться к удаленному SMTP-серверу и отправлять почту, которую получает, как стандартный ввод, как sendmail.
источник
ESMTP - это сервер пересылки почты только для ретрансляции, который может работать для вашего приложения.
источник
Вы можете найти sSMTP подходящим для ваших нужд. Прочитайте эту статью об этом и его ограничениях.
Честно говоря, я бы не стал слишком беспокоиться об установке postfix или exim, даже если он предназначен только для отправки электронных писем.
источник
Если вы используете докер, https://hub.docker.com/r/zixia/simple-mail-forwarder/ - это хороший выбор для простого развертывания, размером всего 10 МБ, с полной поддержкой smtp (tls).
источник
Технически вам не нужен почтовый сервер на вашем хосте, то, что вам нужно (и, вероятно, уже есть), это smtp-клиент (или MUA), который может подключаться к вашему корпоративному SMTP-серверу (который может быть где угодно, к которому вы можете подключиться) .)
В зависимости от приложения (и языка программирования, на котором оно было написано), у вашего приложения есть много разных способов подключения к SMTP-серверу в вашей сети.
Обычно, с PHP или Python, есть файл конфигурации с приложением для указания сервера «SMTP» (который может быть на вашем хосте или в другом месте вашей сети.) Если у вас уже есть почтовый сервер в сети, просто укажите Конфигурация для этого сервера.
Если других вариантов не существует, приложение может сгенерировать сообщение электронной почты для стандартного вывода, которое вы можете обработать с помощью чего-то вроде:
listoftargets = "me@example.com jab@example.com" echo "Тестовое содержимое" | mail -s "Test Subject" $ listoftargets
В некоторых системах уже существует минимальный почтовый сервер только для отправки.
Сэм Т.
источник
mail
илиsendmail
именуемые исполняемые файлы. Системные уведомления. Вот и весь смысл, не так ли? Для чего-либо еще нет никаких ограничений.