Отправка почты из сценария оболочки Bash - PullRequest
35 голосов
/ 01 декабря 2009

Я пишу сценарий оболочки Bash для Mac, который отправляет уведомление по электронной почте, открывая приложение автоматизатора, которое отправляет электронную почту с учетной записью по умолчанию в Mail.app. Приложение automator также прикрепляет текстовый файл, в который записан скрипт. Проблемы с этим решением

  1. Видно в графическом интерфейсе при отправке
  2. Он крадет фокус, если Почта не является текущим приложением
  3. Это зависит от настроек учетной записи Mail.app, которые будут действительны в будущем

Я решил обойти эти недостатки. Я должен отправить письмо прямо из скрипта, введя SMTP настройки, адрес для отправки и т. Д. Прямо в скрипте. Подвох в том, что я хотел бы развернуть этот сценарий на нескольких компьютерах (10.5 и 10.6) без включения Postfix на компьютере. Возможно ли сделать это в скрипте, чтобы он работал на базовой Mac OS X с установкой 10.5. и 10,6?

Обновление: я нашел опцию -bs для Sendmail, которая, кажется, мне нужна, но я не знаю, как задать настройки.

Также, чтобы уточнить, причина, по которой я хотел бы указать настройки SMTP, заключается в том, что сообщения с локального хоста на порту 25, отправленные через Postfix, будут блокироваться большинством корпоративных брандмауэров, но если я укажу сервер и альтернативный порт, я выиграю не сталкивайтесь с этой проблемой.

Ответы [ 12 ]

0 голосов
/ 09 октября 2015

Попробуйте mtcmail. Это довольно полный отправитель электронной почты, полностью автономный.

0 голосов
/ 21 декабря 2009

Вот модифицированный фрагмент сценария оболочки, который я использовал в различных системах UNIX ... (echo "${MESSAGE}" | ${uuencode} ${ATTACHMENT} $ basename $ {ATTACHMENT} ) | ${mailx} -s "${SUBJECT}" "${TO_LIST}"

uuencode и mailx установлены на исполняемые файлы. Другие переменные взяты из пользовательского ввода, проанализированного с помощью getopts.

Это работает, но я должен признать, что чаще всего я использую простую Java-программу для отправки электронных писем с консоли.

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