Нет никакого фактического клиента здесь действительно для этого, большинство людей просто использует свой MTA (Агенты Передачи почты) к реле и затем использует sendmail (1) или почта (1) для введения почты очереди их MTA (или непосредственно или через порт SMTP 25)
Большинство машин Unix идет с MTA, обычно один из Sendmaill, Postfix или Exim.
Постфикс
В постфиксе Вы хотите установить свой relayhost в/etc/postfix/main.cf (или везде, где Ваш main.cf конфигурационный файл установлен).
relayhost = my.mailrelay.com
Sendmail
Для sendmail термин называют SMART_HOST, и можно определить его в sendmail.mc
define(`SMART_HOST',`my.mailrelay.com')
Exim
В Exim, изменение раздел "маршрутизаторов" Вашей конфигурации и добавляют
smarthost:
driver = domainlist
transport = remote_smtp
require_files = /etc/exim/smarthost
route_list = "* my.mailrelay.com"
Qmail
Я никогда не видел Qmail, прибывший установленный на машине (главным образом из-за условий лицензирования DJB), таким образом, это находится, вероятно, не в Вашей ситуации, но мы могли бы также перечислить последний из больших 4 MTA в одном месте.
echo ":my.mailrelay.com" > /var/qmail/control/smtproutes
Примечания*
Некоторые люди могли бы сказать, использовать сценарий для введения сообщений к удаленному серверу SMTP по порту 25/487. Это решение испорчено. SMTP разработан так, чтобы почтовые серверы могли временно отклонить почту по любой причине. Все серверы SMTP имеют механизмы нейтрализации так, чтобы сообщения были повторены и повторены. Теперь Ваш сценарий мог реализовать это, но затем Вы спускаетесь по маршруту изобретения велосипед. Практически каждая система Linux прибывает установленная с MTA, и они тривиальны для установки на Linux и любой системе Unix, с которой я столкнулся. Конфигурирование их может быть пугающим, когда Вы начинаетесь, но электронная почта так ubiqutous, необходимо изучить это, если Вы хотите управлять подобными Unix машинами.
Если удаленный сервер SMTP, который Вы передаете через, просто позволяет Вам реле IP, вышеупомянутое должно быть достаточным. Однако это возможно удаленный сервер SMTP, который Вы хотите передать через, потребует, чтобы Вы использовали аутентификацию SMTP и/или SSL/TLS к реле через. В этом случае необходимо будет настроить MTA для предоставления этой подробной информации.
Если Вы используете Bash в качестве оболочки по умолчанию для пользователя, Вашего ssh
команда запускает неинтерактивную оболочку невхода в систему, таким образом, она не обрабатывает /etc/profile
. Необходимо будет получить тот файл в сценарии.
Когда Вы выполняете команду через ssh
, это не запускает оболочку входа в систему на удаленном хосте. Практические последствия этого варьируются, но обычно это означает, что будут проигнорированы файлы инициализации оболочки, которые работают при входе в систему. С другой стороны, окружите файлы инициализации, которые для каждого экземпляра оболочки будут все еще обработаны.
Если Вы используете bash
, это означает это только Ваш .bashrc
файл используется. Я часто вставлял что-то вроде этого мой .bashrc
файл:
if [ ! "$RAN_PROFILE" ]; then
. $HOME/.profile
fi
И в нижней части моего .profile
:
RAN_PROFILE=1
export RAN_PROFILE
Это гарантирует, чтобы я добрался .profile
сервисы даже для оболочек невхода в систему.
Я устранил эту проблему, добавляющую путь к/etc/environment
PATH=/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin/core_perl
Не знайте - ли это хорошая практика, но работает.
Спасибо!
Оболочка на Вашем клиенте разворачивает переменную ПУТИ, таким образом, необходимо будет выйти из знака доллара.
foo$ ssh username@bar.example.com 'echo \$PATH'