У цій статті ми розглянемо основні утиліти для надсилання електронних листів на SMTP з консолі Linux - Пошта/Пошта/Мут. Ця інструкція стосується всіх сучасних розподілів Linux.
Щоб надіслати пошту з командного рядка Linux, вам потрібно встановити агент користувача пошти, який може підключитися до серверів SMTP для надсилання та отримання пошти.
Перш за все, розглянемо корисність Пошта (Пошта). Щоб встановити його, зробіть:
- Для Debian/Ubuntu:
# Sudo apt-get встановити mailutils
- Для CentOS/Redhat встановіть пакет за допомогою Yum (DNF)
# Dnf install mailx
Пошта містить кілька комунальних послуг для роботи з поштою, але ми будемо детально зупинитися Пошта.
Зверніть увагу, що на хості потрібно встановити якийсь поштовий сервер. Наприклад, Postfix або Sendmail: # Yum Встановити Sendmail -y
Основні варіанти надсилання листів:
- -С - Тема:
- -С - CC:
- -Б - BCC:
- -r - Від:
Щоб надіслати просте повідомлення з консолі Linux, використовуйте команду:
# Echo "Це тестовий лист" | Пошта -с "Перевірка публікації" admin@build -centos.ru
Перевірте, що лист було взято до коробки.
Якщо вам потрібно побачити детальні журнали входу на SMTP, ви можете побачити їх у файлі:
# cat/var/log/maillog
Не вказуючи додаткових варіантів, лист надсилається з поштової скриньки за замовчуванням і, швидше за все, буде позначений як спам у найпопулярніших поштових службах.
Щоб вказати ще одного відправника листа (поштою), використовуйте ключ -r:
# Echo "Це тестовий лист 2" | Пошта -s "Перевірка пошти 2" -r admin@build -centos.ru test@build centos.ru
Якщо вам потрібно надіслати лист декільком одержувачам, перелічіть їх через кому:
# Echo "Це тестовий лист 3" | Пошта -s "Перевірка пошти 3" -r admin@build -centos.ru test@build centos.ru, test-2@build centos.ru
Як бачите, лист був надісланий двом одержувачам. І за допомогою ключа -С Ви можете надіслати копію листа у вказане поле:
# Echo "Це тестовий лист 4" | Пошта -s "Перевірка поштового відділення 4" -r admin@build -centos.ru -c тест@build -centos.ru
Якщо вам потрібно приєднати файл до літери, вкажіть шлях до файлу у параметрі -a.
# echo "файл у вкладенні" | Пошта -с "перевірка інвестицій" -a /root /test.Txt -r admin@build -centos.ru test@build centos.ru
Зазначена поштова скринька повинна бути вкладеним. Якщо вам потрібно повторити два або більше файлів, додайте кожен файл через власний атрибут -a:
# Echo "інвестував 2 файли" | Пошта -s "Введення декількох файлів" -a /root /test.Txt -a /root /повідомлення.log -r admin@build -centos.ru test@build centos.ru
Ви можете надіслати лист через певний сервер SMTP. Його ім'я та порт з'єднання вказані в параметрі -S smtp = :
# Echo "Повідомлення SMTP -сервер" | Пошта -s "тест SMTP -сервер" -s smtp = "build -centos.ru: 25 "-r admin@build -Centos.ru admin@build centos.ru
Якщо перед надсиланням сервер SMTP вимагає авторизації, ви можете вказати ім'я та пароль користувача за допомогою параметрів -S smtp-auth-user і -S SMTP-AUTH-PASSWORD.
# Echo "тестування поштової скриньки" | Mail -v -v "test auth" -s smtp = "build -centos.RU: 25 "-S SMTP-Round = Login -S SMTP-Round-user =" admin@build centos.ru "-s smtp-range-password =" пароль "-s від = admin@build centos.ru admin@build centos.ru
Коли ви запускаєте цю команду, перед вами з’явиться список команд SMTP для підключення, авторизації та надсилання пошти.
Якщо вам потрібно використовувати шифрування TLS та ігнорувати справжність сертифіката сервера, додайте параметри:
-S smtp -use -starttls
-S ssl-verify = ігнорувати
Встановіть smtp-startls set ssl-reverify = ігнорувати setpp = smtp: // smtp.Gmail.Com: 587 Встановити smtp-auth = вхід setp-auth-user = [email protected] Набір smtp-auth-password = sdf#23ddsh3sq9- set from = [email protected]
Тепер, щоб надіслати лист через реле Gmail з аутентифікацією, достатньо виконати команду:
$ echo "тестова пошта" | Mail -v -v "тестування gmail auth" admin@build -centos.ru
Ви можете використовувати команду надсилання пошти для свого сценарію Bash. Наприклад, створіть наступний сценарій, який надішле вам інформацію про безкоштовне місце на дисках:
#!/bin/bash du -h | Пошта -s "Сервер 1 Використання диска" Адміністратор@build -Centos.ru
Додайте цей сценарій до планувальника Cron, і ви регулярно отримаєте листи з інформацією про безкоштовне місце на своєму сервері.
0 0 * * */home/root/freespace.Штук
Ще одна популярна пошта у Linux - це Мут:
# Sudo apt-get install mutt
- Для debian/ubuntu
# yum Встановіть mutt -y
- для centos/redhat
Синтаксис MUTT такий же, як Mail/ Mailx:
# Echo "Текстові повідомлення MUTT" | Mutt -s "test mutt" admin@build -centos.ru
Таким чином, ви можете легко надсилати листи з командного рядка, інтегрувати надсилання сповіщень електронної пошти у ваші скрипти або годинники (зручно контролювати їх реалізацію).