Инициализация:
Многие команды Linux доступны для отправки электронной почты из командной строки или с помощью сценария bash. Но никакая команда отправки электронной почты не будет работать, если в системе не настроен должным образом SMTP-сервер. Вы можете настроить свой собственный SMTP-сервер для отправки электронной почты из командной строки или использовать любой бесплатный SMTP-сервер любого известного поставщика услуг электронной почты, например Gmail или Yahoo. В этом руководстве используется SMTP-сервер учетной записи Gmail. Для выполнения этой задачи вам необходимо выбрать учетную запись Gmail и включить опцию «Разрешить менее безопасным приложениям» для этой учетной записи отправлять электронную почту. Вы можете посетить следующий учебник, чтобы включить эту опцию.
https://linuxhint.com/how-to-send-email-from-php/
После включения этой опции вы должны открыть файл «/etc/ssmtp/ssmtp.conf» с правами «root» и добавить следующие строки в конец файла. Вы должны установить свой адрес электронной почты на «AuthUser» и пароль на «AuthPass», чтобы завершить настройку.
ИспользуйтеSTARTTLS= ДА
FromLineOverride= ДА
корень= админ@example.com
mailhub= smtp.gmail.com:587
AuthUser= имя пользователя@gmail.com
AuthPass= пароль
Пример-1: Использование команды Sendmail
Одна из популярных команд отправки электронной почты в Linux - это sendmail. Пользователь может легко отправить электронное письмо из командной строки с помощью этой команды. Если пакет Sendmail не установлен в системе, выполните следующую команду, чтобы установить пакет.
$судоподходящийустановитьssmtp
Предположим, содержимое электронной почты хранится в файле с именем «email.txt» со следующим содержимым. Здесь текст после «Тема:» будет отправлен как тема электронного письма, а оставшаяся часть будет отправлена как тело письма.
email.txt
Тема: Отправка электронной почты с помощью sendmail
Тестирование тела письма
Запустите команду sendmail с адресом электронной почты получателя, как показано ниже.
$Отправить письмоимя пользователя@gmail.com<email.txt
Пример-2: Использование команды «mail»
Самая распространенная команда для отправки электронной почты в Linux - это команда mail. По умолчанию эта команда не установлена в Ubuntu. Выполните следующую команду, чтобы установить команду `mail`.
$судоподходящийустановитьmailutilsСледующая команда покажет версию этой команды, если она установлена в системе.
$Почта-V
Параметр «-s» используется в команде «mail» для определения темы электронного письма. Запустите команду «mail» с параметром «-s» с темой электронной почты и адресом электронной почты получателя, как в следующей команде. Он запросит адрес Cc :. Если вы не хотите использовать поле «Копия:», оставьте его пустым и нажмите клавишу ВВОД. Введите текст сообщения и нажмите Ctrl + D, чтобы отправить электронное письмо.
$Почта-s 'тема'имя пользователя@gmail.com
Если вы хотите добавить в команду тело сообщения электронной почты, используйте ‘<<<’ operator like the following command.
$Почта-s 'Тема сообщения'имя пользователя@gmail.com<<< 'проверка тела сообщения'
Вы также можете добавить адрес электронной почты отправителя с помощью команды `mail`, используя опцию‘ -a ’. Следующая команда отправит электронное письмо с темой, «темой сообщения», именем отправителя и адресом электронной почты, «Администратор.<[электронная почта защищена]> ’И адрес электронной почты получателя,[электронная почта защищена]и тело сообщения, «тестовое сообщение».
$ mail-s 'Тема сообщения' -кОт: Admin <админ@example.com >имя пользователя@gmail.com<<< 'тестовое сообщение'
Вы также можете отправить тело сообщения электронной почты с помощью команды echo и pipe (|). Следующая команда использует команду pipe (|) для отправки тела сообщения.
$выбросил 'тестовое сообщение' |Почта-s 'Тема сообщения'имя пользователя@example.com
Электронная почта может быть отправлена нескольким получателям с помощью команды `mail` и добавления адресов получателей через запятую. Следующая команда будет отправлена по электронной почте двум получателям.
$Почта-s 'Тестирование электронной почты'имя пользователя1@example.com, имя пользователя2@example.com<test.txt
Пример-3: Использование команды `mutt`
Как и команда `mail`, команда` mutt` по умолчанию не устанавливается в Ubuntu. Выполните следующую команду, чтобы установить команду `mutt`.
$судоподходящийустановитьдворнягаКоманда `mutt` работает аналогично команде` mail`, но команда `mutt` имеет собственный редактор для отправки электронной почты. Выполните следующую команду с действующим адресом электронной почты, чтобы отправить электронное письмо.
$выбросилсообщение о тестировании|дворняга-s 'Проверка электронной почты'имя пользователя@example.com
Вы можете прикрепить любой файл, используя параметр «-a» с командой «mail» или «mutt». Следующая команда прикрепит файл items.txt при отправке электронного письма.
$выбросил 'тестовое сообщение' |дворняга-s 'Тема сообщения' -кitems.txt-имя пользователя@gmail.com
Пример-4: Использование команды «SSMTP»
Другая команда электронной почты - это команда ssmtp. Если ssmtp не был установлен раньше, сначала установите пакет. Команда установки для ssmtp показана в примере-1. Команды ssmtp и sendmail работают аналогично.
Выполните следующую команду с действующим адресом электронной почты. Введите тему и текст сообщения электронной почты. Нажмите ctrl + D, чтобы выйти и отправить электронное письмо.
$ssmtp имя пользователя@gmail.com
Пример-5: Использование команды mailx
Вы можете отправлять HTML-контент в теле письма, не отправляя просто текстовое сообщение. Создайте HTML-файл с именем «test.html» для использования в качестве тела сообщения.
test.html
< html >< тело >>
< h3 >Отправка электронной почты</ h3 >
< делать размерзнак равно'2' цветзнак равно'сеть'>Тестирование тела сообщения</ делать >
<</ тело >
</ html >
Команда mailx работает как команда mail. Вы должны указать Content-Type как text / html для отправки HTML-содержимого в качестве тела сообщения в команде `mailx`. Следующая команда отправит содержимое файла test.html в качестве тела сообщения электронной почты.
$ mailx-к 'Content-Type: text / html' -s 'Отправка электронной почты с помощью mailx'<test.html'[электронная почта защищена]'
Когда вы проверите почтовый ящик учетной записи электронной почты получателя, список электронных писем будет показан как следующее изображение.
Заключение
Надеюсь, читатель сможет легко отправлять электронную почту из командной строки в Linux после того, как правильно попрактикуется с приведенными выше командами.