Получение сервера для отправки почты через SSH - PullRequest
0 голосов
/ 14 сентября 2011

Я написал программу (в Android, на стороне клиента и PHP, на стороне сервера) для загрузки файла на сервер через HTTP. По разным причинам мне пришлось изменить систему, чтобы сделать все в SSH (помимо прочего, для обеспечения безопасности).

У меня настроены основы (используется jsch на Android). Но я хочу реализовать эквивалент функции PHP mail (). Когда файл загружен, изначально мой PHP-файл автоматически отправляет почту с сервера на определенный адрес.

Я изо всех сил пытаюсь найти способ реализовать это в оболочке на сервере. Итак, вопрос в том, как автоматически отправлять электронную почту с сервера в SSH?

EDIT: Забыл упомянуть, что сервер CentOS.

1 Ответ

0 голосов
/ 14 сентября 2011

Сам SSH не имеет почтовой функции - он поддерживает только доступ к оболочке (который может включать переадресацию агента X и SSH), передачу файлов (или другие подсистемы, которые могут быть интегрированы в сервер) и переадресацию портов.

Итак, у вас есть в основном следующие варианты:

  • Вызвать некоторую команду оболочки на стороне сервера, которая вызывает отправку почты, как указано в комментарии от Марка. Это будет использовать shell канал .

  • Используйте переадресацию портов для доступа к SMTP-серверу на хосте вашего сервера (или любом хосте, который принимает почту оттуда).

    Если вы хотите отправлять из той же программы, которая использует JSch, нет необходимости фактически делать на стороне клиента переадресацию портов, вместо этого просто используйте direct-tcpip канал и установите его свойства хоста и порта перед подключением.

    Тогда вам придется самостоятельно реализовать протокол SMTP или использовать любую другую библиотеку, которая поддерживает SMTP. (Я полагаю, JavaMail может это сделать, но я не исследовал, как вы можете настроить его для использования JSch в качестве туннеля.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...