Ubuntu

Надсилання пошти з командного рядка (консоль) Linux

Надсилання пошти з командного рядка (консоль) Linux

У цій статті ми розглянемо основні утиліти для надсилання електронних листів на SMTP з консолі Linux - Пошта/Пошта/Мут. Ця інструкція стосується всіх сучасних розподілів Linux.

Щоб надіслати пошту з командного рядка Linux, вам потрібно встановити агент користувача пошти, який може підключитися до серверів SMTP для надсилання та отримання пошти.

Перш за все, розглянемо корисність Пошта (Пошта). Щоб встановити його, зробіть:

Пошта містить кілька комунальних послуг для роботи з поштою, але ми будемо детально зупинитися Пошта.

Зверніть увагу, що на хості потрібно встановити якийсь поштовий сервер. Наприклад, Postfix або Sendmail:

# Yum Встановити Sendmail -y

Основні варіанти надсилання листів:

Щоб надіслати просте повідомлення з консолі 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 = ігнорувати

Для того, щоб не встановлювати всі параметри в командному рядку, ви можете вказати їх у файлі ~//.Mailrc. Наприклад, додайте такі рядки до цього файлу:

Встановіть 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

Якщо вам просто потрібно перевірити роботу віддаленого сервера SMTP, ви можете надіслати лист вручну через Telnet.

Таким чином, ви можете легко надсилати листи з командного рядка, інтегрувати надсилання сповіщень електронної пошти у ваші скрипти або годинники (зручно контролювати їх реалізацію).

Огляд основних функцій команд Microsoft
Сьогодні для успішного ведення бізнесу дуже важливо постійно спілкуватися з багатьма людьми в режимі реального часу. Це можуть бути як працівниками пі...
Файл великих пальців.ДБ
Великі пальці - це прихований системний файл, створений операційною системою Windows. Це потрібно для зберігання кешу -копії зображень PNG, JPEG, HTML...
Як зробити папку Google Drive у Windows 10 з кореневим елементом перехідної панелі провідника
Для більш зручного використання Google Drive Компанія розробників пропонує клієнтську програму "Автоматичне навантаження та синхронізація". Під час пр...