Чтобы отослать электронное письмо из командной строки, можно воспользоваться утилитой mail. Также она может встречаться под названием mailx или Mail. Для отправки письма пишем следующую команду:
$ mail -s "Тема письма" pupkin@mail.ru
Привет!
Я пишу тебе из консоли!
Ctrl+D
Комбинация клавиш Ctrl+D (^D) с новой строки позволяет завершить ввод письма. После этого у меня появляется приглашение ввести получателя копии – просто жму “Enter”, и письмо отправляется.
Если тело письма находится в файле, то можно просто воспользоваться перенаправлением входного потока:
$ mail -s "Письмо из файла" pupkin@mail.ru < mail_body.txt
Аналогично поступаем, если требуется отослать вывод какой-либо команды. Например, следующая команда отошлет мне на мыло содержание текущего каталога:
$ ls | mail -s "Вывод команды" pupkin@mail.ru
Кроме того, утилита позволяет не только читать письма, но и получать их, отвечать и делать прочие полезные манипуляции. Но вот чего она, похоже, не позволяет – так это добавить вложение к письму. Однако, это не беда. Есть немало способов отправить файл из консоли по электронной почте. Я рассмотрю три из них, которые не потребовали от меня разбираться в чем-то или что-то скачивать/устанавливать.
1. Если нужно отправить двоичный файл письмом, можно его просто закодировать с помощью uuencode. Команда будет выглядет следующим образом:
$ uuencode image.jpg image.jpg | mail -s "Метод 1" sombeody@somewhere.net
И хотя файл действительно закодируется и отправится, это не является вложением в полном смысле электронной почты. некоторые почтовые клиенты адэкватно отреагируют на файл в письме, другие же покажут его как простой текст, и раскодировать его придется вручную.
2. С помощью консольной утилиты mpack. Эта утилита пакует файл в сообщение и отсылает полученное сообщение туда, куда изволите.
$ mpack -s "Метод 2" image.jpg sombeody@somewhere.net
3. С помощью полноценного консольного почтового клиента mutt. Можно запустить его, сформировать письмо и отправить куда надо. А можно запустить mutt в режиме эмуляции диалога mailx (параметр -x), при этом передав через параметры все необходимое, чтобы не получать лишних вопросов от этой программы. Второй вариант выглядит так:
$ echo "Смотри вложение" | mutt -x -s "Метод 3" -a image.jpg sombeody@somewhere.net
Если какой-то из программ у вас не окажется (в чем я сильно сомневаюсь), ищите ее в репозиториях Debian.
Пишите – и да будете отвечены! 🙂