Hostwinds Учебники
Результаты поиска для:
Содержание
Чтобы лучше понять, что такое SMTP-CLI, давайте поговорим о том, что это не так;SMTP-CLI не является сервером электронной почты или реле;Это также не способ отправки больших объемов почты.Это почтовый клиент, который позволяет отправлять текст, HTML, файлы и изображения из командной строки и сценариев.
Вместо того, чтобы создать другой сервер электронной почты, вы можете использовать SMTP-CLI для отправки обновлений от ваших VPS через удаленную учетную запись электронной почты для мониторинга здоровья или статуса. Вы также можете настроить работу CRON, чтобы пересылать журналы как часть серверной защиты. Это позволяет вашему серверу запустить более или менее без присмотра, если не обнаружены ошибки или ограничения.
Мы будем использовать Git, чтобы захватить сценарий SMTP-CLI из GitHub. Если у вас уже нет, вы можете установить его так:
# yum install -y git
# apt-get install -y git
# git clone https://github.com/mludvig/smtp-cli.git
Сценарий SMTP-CLI (часть прогонов) расположен внутри каталога, называемого SMTP-CLI, а внутри - это файл, называемый SMTP-CLI (флаг -l в команде позволяет нам посмотреть атрибуты файла, чтобы убедиться, что это исполняемый).
# ls -l smtp-cli
Если эти «X» вместо этого «-», затем запустите эту команду, чтобы сделать файл исполняемого файла.
# chmod +x smtp-cli/smtp-cli
Теперь мы можем проверить, работает ли он.
# smtp-cli/smtp-cli
Это должно привести к такой ошибке
Странно иметь ошибку - это хорошо, но поскольку мы просто тестируем, чтобы убедиться, что сценарий загружен и исполняется, это все, что нам сейчас нужно.
Теперь мы собираемся проверить наш глобальный PATH (где VPS проверяет, когда я запускаю что-то из командной строки без полного пути)
# echo $PATH
И скопируйте smtp-cli в каталог sbin пользователя в PATH по умолчанию.
# cp smtp-cli/smpt-cli /usr/local/sbin
ls -l /usr/local/sbin/smtp*
Теперь мы можем запустить SMTP-CLI из любого каталога на VPS, не беспокоясь о том, чтобы включить полный путь к файлу.
Поскольку размещение вашего незашифрованного пароля в скрипте в значительной степени является наиболее неуверенным, не говоря уже о сложном, способ управлять паролем, мы создадим файл, который содержит нашу информацию о пароле. Это позволяет легко обновлять наш пароль и делает вредоносным актером, по крайней мере, нужно искать информацию.
Поскольку я бегаю как пользователь root и создавая корневой Cronjob, этот файл будет в / root / directory. Ваша работа CRON может быть в вашем пользователе Crontab в зависимости от привилегий, которыми вы предоставляются вашим системным администратором, в этом случае вы можете хранить это в / Home / имя пользователя.
# touch /root/.passwd
echo 'SomeRandomPassword' > /root/.passwd
Обратите внимание, что «SomerAndompassword» необходимо будет быть открытым текстом вашего фактического пароля электронной почты для вашей удаленной учетной записи электронной почты.
Теперь мы переходим к хорошей части - отправке электронного письма как части скрипта или из командной строки. Я собираюсь протестировать его, отправив файл, который мы создали как часть нашего руководства vnstat.
В качестве примечания, часть $ (некоторая команда) ниже позволяет запускать команду в строке и использовать вывод этой команды в качестве входных данных для аргумента.
# smtp-cli --verbose --server mail.emaildomain.TLD:587 --enable-auth --user smtp-cli_guide@emaildomain.TLD --pass $(cat /root/.passwd) --from smtp-cli_guide@emaildomain.TLD --to test2@emaildomain.TLD --subject VPS-stats --attach /var/www/html/vps_bandwidth_stats.png
Теперь, когда мы знаем, что это работает, мы можем поместить команду в сценарий bash или задание cron.
#!/etc/bash
smtp-cli --verbose --server mailservername.emaildomain.TLD:587 --enable-auth --user login-user@emaildomain.TLD --pass $(cat /root/.passwd) --from email_orinator@emaildomain.TLD --to email_destination@emaildomain.TLD --subject subject-line --attach /full/path/filename.tosend >> /path/to/logfile.log
--help
--body-plain=<text|filename>
--body-html=<text|filename>
Хотя в этом примере предусмотрена возможность настройки сценариев или cronjobs, этот простой почтовый клиент также может отправлять почту с использованием глобальных переменных или вывода для других сценариев мониторинга; Все эти инструменты могут отправлять простые оповещения или сложные диагностические данные на вашу электронную почту в зависимости от регулярного интервала или инициирующего события.
Несколько различных вопросов могут возникнуть при использовании скрипта. Первый вопрос будет как ваш почтовый сервер аутентичен. Вы вводите полный адрес электронной почты или просто имя пользователя? Это то, что вам нужно после аргумента -USER. Пример предполагает, что вы вводите полный адрес электронной почты в качестве -USER. Используйте какие учетные данные, которые вы обычно используете для вашего сервера.
Вторая проблемная область - это поле –от. Убедитесь, что это учетная запись электронной почты, в которую вы входите. Вы не можете отправлять почту с учетной записи, которую не контролируете.
Третий - это имя сервера и выбор порта поля Server. Это имя должно быть полностью квалифицированным доменом имени вашего исходящего почтового сервера, за которым следует A: Portnumber. Стандартные порты для SMTP составляют 25, 587, 465.
Наконец, поле-в поле должно быть действительным адресом электронной почты, или он никогда не достигнет места назначения.
Написано Paul Schene / Июль 10, 2020