Отправка почты из командной строки linux

14.5. электронная почта

Отправить Gmail из командной строки Ubuntu Linux

Хотите узнать, как отправить Gmail из командной строки Ubuntu Linux? В этом уроке мы расскажем вам все шаги, необходимые для отправки сообщений электронной почты Gmail, используя только командную строку компьютера под управлением Ubuntu Linux.

• Версия Ubuntu: 18.04

Список оборудования:

В следующем разделе представлен список оборудования, используемого для создания этого учебника Ubuntu.

Все перечисленные выше аппаратные средства можно найти на веб-сайте Amazon.

Ubuntu Playlist:

На этой странице мы предлагаем быстрый доступ к списку видеороликов, связанных с установкой Ubuntu.

Playlist

Не забудьте подписаться на наш канал YouTube, названный FKIT.

На этой странице мы предлагаем быстрый доступ к списку руководств по установке Ubuntu.

Список учебных пособий

Учебник. Отправьте Gmail из командной строки Ubuntu Linux.

Во-первых, нам нужно включить учетную запись Gmail для получения подключений от внешних программ.

Откройте браузер и получите доступ к своей учетной записи Gmail.

В нашем примере в браузере был введен следующий URL:

• http://gmail.google.com

На экране входа в систему введите имя пользователя и пароль Gmail.

После входа в систему вам необходимо получить доступ к следующему URL-адресу:

• https://myaccount.google.com/lesssecureapps

Выберите параметр, позволяющий использовать менее безопасные приложения.

Теперь нам нужно проверить, можем ли мы использовать командную строку Linux для отправки электронной почты с помощью Gmail.

Используйте следующую команду для установки необходимых пакетов.

# sudo apt-get update
# sudo apt-get install ssmtp

Отредактируйте файл ssmtp.conf для подключения к нашей учетной записи Gmail.

# vi /etc/ssmtp/ssmtp.conf

root=virtualcoin.videos@gmail.com
mailhub=smtp.gmail.com:465
FromLineOverride=YES
AuthUser=virtualcoin.videos@gmail.com
AuthPass=kamisama123
UseTLS=YES

В нашем примере мы используем учетную запись Gmail virtualcoin.videos@gmail.com.

В нашем примере учетная запись Gmail virtualcoin.videos@gmail.com использует пароль kamisama123.

Вам необходимо изменить учетную запись Gmail и пароль, чтобы отразить вашу учетную запись.

Используйте следующую команду для отправки электронной почты с помощью командной строки.

Имейте в виду, что вам необходимо изменить адрес электронной почты, использованный выше.

Если тест был успешным, вам хорошо идти.

Если тест не увенчался успехом, может быть представлено следующее сообщение.

• ssmtp: Ошибка авторизации (534 5.7.14 https://support.google.com/mail/answer/78754 v24-v6sm2921112pfl.31 — gsmtp)

Чтобы решить эту проблему, вам необходимо получить доступ к следующему URL-адресу.

• https://accounts.google.com/DisplayUnlockCaptcha

Выберите вариант, чтобы разблокировать свою учетную запись.

Повторите попытку отправки электронной почты с помощью командной строки.

Если тест был успешным, вам хорошо идти.

2018-08-22T14:52:20-03:00

Как избежать ошибок при составлении и отправке писем

Причинами возникновения ошибок и, как следствие, неполучения сообщений могут служить разные факторы. Одни из них связаны с неправильным составлением исходящих писем самим пользователем, другие относятся к более глобальным программным настройкам со стороны получателя.

Самый простой способ это понять – отправить тестовое сообщение на свой ящик. Затем следует протестировать его отправку и получение, используя разные внешние почтовые сервисы: gmail, yandex, mail, rambler и другие. Если сообщение получено, следует ответить на него, проверив корректность исполнения команды «RE» вашим почтовым сервером и принятие ответа условным отправителем.

Довольно часто проблемы с попаданием писем в папку «Спам» или программной блокировкой на стороне получателя лежат в неверном оформлении ключевых полей. Особенно это касается массовых рассылок коммерческого характера. Для отправки большого количества однотипных сообщений как минимум потребуется выполнение следующих параметров настройки:

  • выделенный IP-адрес с целью исключить блокировку на стороне сервера-ретранслятора или почтовой программы конечного получателя;
  • криптографические подписи DKIM и SPF, помогающие подтвердить подлинность домена и минимизировать количество писем, воспринимаемых как спам.

Некорректное использование бота для отправки писем может привести к блокировке отправителя и другим нежелательным последствиям. Даже если информация, которую вы отправляете потенциальным клиентам, реально интересна им, система спам-фильтрации может воспринять данную рассылку как вредоносную. Чтобы избежать этого, лучше всего воспользоваться услугами специализированных компаний.

В моей практике был случай, когда никак не удавалось добиться получения моей электронной корреспонденции одним из сотрудников компании «Лукойл». Письма я отправлял самые простые, используя корпоративный ящик. Только после того, как мой респондент обратился в IT-службу своего предприятия, выяснилось, что данный адрес находится в блэк-листе. Попал он туда из-за каких-то ошибок, допущенных моим предшественником. Понадобилось больше недели, чтобы адрес включили в «белый список». Все это время письма, высылаемые с личного mail@yandex.ru, доходили без проблем.

Полезно: Почему не приходят письма с сайта. Пример частного случая.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Отправка сообщений электронной почты из командной строки, с помощью утилиты Blat.exe

Сегодня я расскажу о том, как отправлять сообщения на электронную почту из командной строки. Можно привести массу ситуаций, когда необходимо выполнять данное действие. Например, для контроля выполнения различных регламентных заданий, резервного копирования баз данных и пр. А поможет нам в этом маленькая, удобная и абсолютно бесплатная утилита Blat.exe.

1. Утилита Blat.exe

Скачать программу Blat можно с официального сайта или с текущего. На момент написания статьи последней была версия 3.0.7. В архиве 2 папки: full — непосредственно сама программа и docs — документация по программе. Для установки необходимо скопировать содержимое папки full в «C:\Windows\system32\» или в любую другую директорию, но в этом случае при вызове программы придется указывать путь к исполняемому файлу. Я в своем примере буду использовать второй вариант.

2. bat-файлы для отправки сообщений

Можно доработать файл таким образом, чтобы адрес получателя и тема сообщения задавалась параметрами запуска. Вот содержимое такого bat-файла:

И пример его запуска с параметрами:

Если получателей несколько, то при вызове утилиты можно указать текстовый файл с адресами получателей сообщения:

Где файл mail_list.txt будет содержать адреса получателей разделенные переносом строки.

Ну и наконец, приведу пример файла, который я использую в данный момент. В нем все файлы находятся в директории с исполняемым bat-файлом, список адресов берется из файла, а тема письма задается параметром. Сделано это для того чтобы в зависимости от работы задания отсылать письма с разной темой. Например:

3. Заключение

Данные примеры не описывают все возможности программы Blat.exe. Она поддерживает сервера SMTP, NNTP, POP3 и IMAP, есть возможность хранить настройки в файле или в реестре, прикреплять вложения в тело письма и многое другое. Я думаю, что взяв за основу предложенные выше файлы, вы сможете написать любой скрипт для отправки электронных сообщений при помощи этой замечательной утилиты.

В данной статье представлен экземпляр кода на язке 1С и добавлена небольшая обработка, позволяющая отправить электронное сообщение средствами 1С, есть возможность прикрепления файлов в тело письма. В первую очередь, будет…

В данной статье я рассмотрю пример кода, который позволяет отправлять электронные сообщения из 1С:Предприятие 8 с помощью стандартной библиотеки CDO.Message. Данная библиотека по умолчанию входит во все версии ОС Windows начиная с Win2K.…

Утилита Sysprep, основным предназначением которой является подготовка эталонного образа Windows к развёртыванию, на борту операционной системы от Microsoft появилась давно, ещё в версии Windows NT 4.0, увидевшей свет в 1996…

Примеры использования командной строки для email-отправки

1. Отправка письма с вложением

Для разных типов дистрибутива Linux команды могут отличаться.

а) для CentOS / Red Hat:

echo ‘Attachment’ | mail -s ‘Subject attachment message’ -a /var/log/maillog master@dmosk.ru

б) для Ubuntu:

echo ‘Attachment’ | mail -s ‘Subject attachment message’ -a /var/log/maillog -a /var/log/maillog2 master@dmosk.ru

… или:

echo ‘Attachment’ | mail -s ‘Subject attachment message’ -A /var/log/maillog -A /var/log/maillog2 master@dmosk.ru

* где /var/log/maillog и /var/log/maillog2 — файлы, которые будут прикреплены к письму

Обратите внимание, что обе команды отличаются по регистру опции a и A — все зависит от версии и сборки Linux (в каких-то нужно использовать маленькую, в каких-то — большую). Также обратите внимание, что в примере для Ubuntu мы отправим 2 файла — для этого просто добавляем к команде еще одну опцию прикрепления файла

2. Несколько получателей

Для отправки письма нескольким получателям, просто перечисляем их через запятую:

echo «Test text» | mail -s «Test title» master@dmosk.ru,shmaster@dmosk.ru

* в данном примере мы отправил письмо на ящики master@dmosk.ru и shmaster@dmosk.ru.

3. Отправка с копией

Отправить копию на адрес master2@dmosk.ru:

echo «Test copy» | mail -s «Test copy title» master@dmosk.ru -c master2@dmosk.ru

Отправить скрытую копию на адрес master3@dmosk.ru:

echo «Test hidden copy» | mail -s «Test hidden copy title» master@dmosk.ru -b master3@dmosk.ru

4. Указать отправителя

В CentOS / Red Hat:

echo «Test text» | mail -s «Test title» -r postmaster@dmosk.ru master@dmosk.ru

В Debian / Ubuntu:

echo «Test text» | mail -s «Test title» master@dmosk.ru -aFrom:postmaster@dmosk.ru

5. Отправка через другой SMTP сервер

echo «Test text» | mail -s «Test title» -S smtp=»smtp.mail.ru:25″ master@dmosk.ru

Однако, если сторонний почтовый сервер работает по шифрованному каналу и требует аутентификацию, необходимо ввести следующее:

echo «Test text» | mail -v -s «Test title» -S smtp=»smtp.dmosk.ru:587″ -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user=»master@dmosk.ru» -S smtp-auth-password=»password» -S ssl-verify=ignore -S nss-config-dir=/etc/pki/nssdb -S from=postmaster@dmosk.ru master@dmosk.ru

* где smtp.dmosk.ru — сервер smtp; 587 — порт для подключения к серверу отправки; smtp-use-starttls указывает на использование шифрования через TLS; smtp-auth=login задает аутентификацию с использованием логина и пароля; smtp-auth-user и smtp-auth-password — соответственно логин и пароль; ssl-verify=ignore отключает проверку подлинности сертификата безопасности; nss-config-dir указывает на каталог с базами nss; from задает поле FROM

Команда «sendmail»

Используйте команду sendmail для одновременной отправки электронных писем одному или нескольким людям. Sendmail — один из самых популярных SMTP-серверов в Linux. Вы можете легко отправлять электронные письма прямо из командной строки с помощью команды sendmail. Для маршрутизации информации команда sendmail использует сеть, настроенную в вашей системе.

Давайте выполним следующие команды, чтобы создать файл с содержанием электронной почты.

cat /tmp/email.txt

Subject: Terminal Email Send

Email Content line 1

Email Content line 2

Subject  — строка в качестве темы электронного письма.

Теперь, чтобы отправить электронное письмо, используйте следующий синтаксис:

sendmail   < /tmp/email.txt

Как отправить письмо c вложением (attachment)

С такой задачей сталкивалось огромнейшее количество разработчиков и, как следствие, существует огромнейшее количество готовых решений. Большинство из них содержит различного рода ошибки, реализовывает не всю функциональность или сложны в применении. Но самый весомый минус — подавляющая масса разработчиков после написания класса, отвечающего его личным потребностям сегодняшнего дня, никогда более не возвращаются к поддержке и доработке исходных кодов.

В связи с этим дальнейшие примеры кода будут базироваться на готовом решении, взятом из PEAR (репозиторий приложений и модулей PHP). Пакет, который будет использован в примерах, называется Mail_Mime. Скачать последнюю версию пакета и получить исчерпывающую документацию можно по адресуhttp://pear.php.net/package/Mail_Mime. Рассмотрим пример его использования:

Приведенный код довольно понятен, но все же несколько слов о нем.

Переменная $mime является экземпляром класса Mail_mime. В его конструктор мы передали необязательный параметр, определяющий, какой именно перевод строки будет использован: «\n» или «\r\n». Данный предназначен для формирования тела и заголовков отправляемого письма. При помощи метода setTXTBody мы определяем текстовую часть письма. В качестве параметра метод принимает строку или имя файла, который будет использован. Аналогично при помощи метода setHTMLBody мы задаем содержимое HTML-версии письма.

Рассмотрим метод addAttachment подробнее. Принимаемые параметры:

  • string $data

    Полный путь к прикрепляемому файлу на сервере либо его содержимое. Обязательный параметр.

  • string $c_type

    Значение заголовка Сontent-type, который будет отправлен. Необязательный параметр, значение по умолчанию — application/octet-stream.

  • string $name

    Имя прикрепляемого файла. Будет использован только в случае, если первый параметр ($data) является содержимым файла.

  • boolean $isfile

    Определяет, является ли первый параметр путем к файлу. Необязательный параметр, значение по умолчанию — true.

  • string $encoding

    Значение заголовка Content-Transfer-Encoding, определяющего формат, в котором будет отправлено приложение. Необязательный параметр. Допустимые значения: base64 (используется для двоичных файлов), quoted-printable(используется для текстовых файлов). Значение по умолчанию: base64.

Таким образом, есть два способа применения данного метода.

  1. указывая путь к файлу на сервере:
    $mime->addAttachment('/home/user/report.txt', 'text/plain');
  2. указывая содержимое файла (в таком случае третий и четвертый параметры необходимо указывать принудительно):
    $mime->addAttachment($contentFile, 'text/plain', 'report.txt', false);

Переходим к формированию заголовка и тела письма. Это все еще обязанности экземпляра класса Mail_mime. Для формирования тела письма применяется метод get, который в качестве необязательного параметра принимает ассоциативный . Ключами могут выступать следующие значения: text_encoding, html_encoding, 7bit_wrap, text_charset, html_charset. Для формирования заголовков используется метод headers. В качестве необязательного параметра принимает хеш-массив. Для более детального ознакомления с допустимыми значениями данного параметра обратитесь к RFC-822.

Вызов метода get() должен осуществиться до того, как будет вызван метод headers(). Убедитесь, что в Вашем коде это условие соблюдено.

Сам процесс отправки уже сформированного письма возложен на класс Mail. Вначале необходимо при помощи статического вызова метода factory создать экземпляр данного класса. В нашем примере он принимает единственный параметр — строку ‘mail’. Более детально принимаемые параметры и их значения описаны ниже в статье, где описываются альтернативные способы отправки почты.

Процесс отправки почты завершается вызовом метода send, принимающего в качестве входящего параметра адресатов, заголовки письма и его тело.

Проверку на ошибки, во время отправки письма, можно реализовать используя следующий код:

Для дальнейшего ознакомления с возможностями Mail и Mime_mail ознакомьтесь с разделами «Как отправить письмо с картинками», «Альтернативные способы отправки писем»

Примеры использования командной строки для email-отправки

1. Отправка письма с вложением

Для разных типов дистрибутива Linux команды могут отличаться.

а) для CentOS / Red Hat:

echo ‘Attachment’ | mail -s ‘Subject attachment message’ -a /var/log/maillog master@dmosk.ru

б) для Ubuntu:

echo ‘Attachment’ | mail -s ‘Subject attachment message’ -a /var/log/maillog -a /var/log/maillog2 master@dmosk.ru

… или:

echo ‘Attachment’ | mail -s ‘Subject attachment message’ -A /var/log/maillog -A /var/log/maillog2 master@dmosk.ru

* где /var/log/maillog и /var/log/maillog2 — файлы, которые будут прикреплены к письму

Обратите внимание, что обе команды отличаются по регистру опции a и A — все зависит от версии и сборки Linux (в каких-то нужно использовать маленькую, в каких-то — большую). Также обратите внимание, что в примере для Ubuntu мы отправим 2 файла — для этого просто добавляем к команде еще одну опцию прикрепления файла

2. Несколько получателей

Для отправки письма нескольким получателям, просто перечисляем их через запятую:

echo «Test text» | mail -s «Test title» master@dmosk.ru,shmaster@dmosk.ru

* в данном примере мы отправил письмо на ящики master@dmosk.ru и shmaster@dmosk.ru.

3. Отправка с копией

Отправить копию на адрес master2@dmosk.ru:

echo «Test copy» | mail -s «Test copy title» master@dmosk.ru -c master2@dmosk.ru

Отправить скрытую копию на адрес master3@dmosk.ru:

echo «Test hidden copy» | mail -s «Test hidden copy title» master@dmosk.ru -b master3@dmosk.ru

4. Указать отправителя

В CentOS / Red Hat:

echo «Test text» | mail -s «Test title» -r postmaster@dmosk.ru master@dmosk.ru

В Debian / Ubuntu:

echo «Test text» | mail -s «Test title» master@dmosk.ru -aFrom:postmaster@dmosk.ru

5. Отправка через другой SMTP сервер

а) Для Ubuntu / Debian:

echo «Test text» | mail -s «Test title» -a «Smtp: smtp.mail.ru:25» -a «From: postmaster@dmosk.ru» -a «Return-path: postmaster@dmosk.ru» master@dmosk.ru

б) Для CentOS / Red Hat:

echo «Test text» | mail -s «Test title» -S smtp=»smtp.mail.ru:25″ master@dmosk.ru

Однако, если сторонний почтовый сервер работает по шифрованному каналу и требует аутентификацию, необходимо ввести следующее:

echo «Test text» | mail -v -s «Test title» -S smtp=»smtp.dmosk.ru:587″ -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user=»master@dmosk.ru» -S smtp-auth-password=»password» -S ssl-verify=ignore -S nss-config-dir=/etc/pki/nssdb -S from=postmaster@dmosk.ru master@dmosk.ru

* где smtp.dmosk.ru — сервер smtp; 587 — порт для подключения к серверу отправки; smtp-use-starttls указывает на использование шифрования через TLS; smtp-auth=login задает аутентификацию с использованием логина и пароля; smtp-auth-user и smtp-auth-password — соответственно логин и пароль; ssl-verify=ignore отключает проверку подлинности сертификата безопасности; nss-config-dir указывает на каталог с базами nss; from задает поле FROM

Отправка писем из консоли linux

by rudjuk

Чтобы отослать электронное письмо из командной строки, можно воспользоваться утилитой mail. Также она может встречаться под названием mailx или Mail. Для отправки письма пишем следующую команду:

Комбинация клавиш Ctrl+D (^D) с новой строки позволяет завершить ввод письма. После этого у меня появляется приглашение ввести получателя копии — просто жму «Enter», и письмо отправляется.

Если тело письма находится в файле, то можно просто воспользоваться перенаправлением входного потока:

Аналогично поступаем, если требуется отослать вывод какой-либо команды. Например, следующая команда отошлет мне на мыло содержание текущего каталога:

Кроме того, утилита позволяет не только читать письма, но и получать их, отвечать и делать прочие полезные манипуляции. Но вот чего она, похоже, не позволяет — так это добавить вложение к письму. Однако, это не беда. Есть немало способов отправить файл из консоли по электронной почте. Я рассмотрю три из них, которые не потребовали от меня разбираться в чем-то или что-то скачивать/устанавливать.

1. Если нужно отправить двоичный файл письмом, можно его просто закодировать с помощью uuencode. Команда будет выглядет следующим образом:

И хотя файл действительно закодируется и отправится, это не является вложением в полном смысле электронной почты. некоторые почтовые клиенты адэкватно отреагируют на файл в письме, другие же покажут его как простой текст, и раскодировать его придется вручную.

2. С помощью консольной утилиты mpack. Эта утилита пакует файл в сообщение и отсылает полученное сообщение туда, куда изволите.

3. С помощью полноценного консольного почтового клиента mutt. Можно запустить его, сформировать письмо и отправить куда надо. А можно запустить mutt в режиме эмуляции диалога mailx (параметр -x), при этом передав через параметры все необходимое, чтобы не получать лишних вопросов от этой программы. Второй вариант выглядит так:

Если какой-то из программ у вас не окажется (в чем я сильно сомневаюсь), ищите ее в репозиториях Debian.

  • Linux
  • Почта

Prerequisites

I assume that you have followed part 1 and part 2 of this tutorial series. If you followed mail server tutorials on other websites, I recommend purging your configurations and start over with my tutorial series, so you are not going to be confused by different setup processes.

PostfixAdmin is written in PHP and requires a database (MySQL/MariaDB, PostgreSQL or SQLite). This article will use MariaDB database. You also need to run Apache or Nginx web server. So basically we are going to need a LAMP or LEMP stack.

If you prefer to use Apache web server, then set up a LAMP stack.

How to set up LAMP stack on CentOS 8/RHEL 8

If you prefer to use Nginx web server, then set up a LEMP stack.

How to set up LEMP stack on CentOS 8/RHEL 8

Once the above requirements are met, let’s install and configure PostfixAdmin.

Установка Postfix

На этом шаге мы выполним установку Postfix. Быстрее всего будет установить пакет , включающий Postfix и несколько дополнительных программ, которые можно использовать для тестирования отправки электронной почты.

Вначале обновите базу данных пакетов:

Затем выполните установку Postfix, запустив следующую команду:

Перед окончанием установки вы увидите окно настройки конфигурации Postfix:

По умолчанию используетя опция  (сайт). Это наиболее подходящая опция для нашего случая, поэтому нажмите , а затем нажмите . Если вы увидите только текст описания, нажмите  для выбора пункта , а затем нажмите .

Если опция не отображается автоматически, запустите следующую команду:

После этого откроется еще один диалог настройки конфигурации System mail name (имя системной почты):

Имя системной почты System mail name должно совпадать с именем, которое вы присвоили своему серверу при его создании. После завершения настройки нажмите , а затем нажмите .

Мы установили Postfix и готовы приступить к настройке.

Чтение писем

До сих пор мы рассматривали отправку писем из командной строки. На самом деле также легко можно читать письма из командной строки:

Вы вероятно заметили, что для отправки и получения писем мы используем одну и ту же команду. Однако для чтения писем не нужно добавлять никаких опций.Ниже простой вывод:

Первая строка вывода – это версия программы mail. Вторая строка говорит о том, что имеется два сообщения, оба непрочитанные, и почта хранится в файле /var/spool/mail/hcg.У всех пользователей linux файл с почтой находится в директории /var/spool/mail/. При получении нового письма оно добавляется в конец этого файла. После информации о файле выводится список писем.Настоятельно рекомендуется не редактировать этот файл без использования mail или аналогичной программы. Читать или производить поиск писем лучше всего с помощью grep.Чтобы прочитать первое письмо, просто введите 1 и нажмите enter. При чтении письма, если вам необходимо вернуться к списку писем, просто нажмите “q”. Символ > показывает, какое из писем в настоящее время является текущим.

Mutt

При возникновении проблем, можно воспользоваться программой mutt. Сначала поставим ее.

а) если используем CentOS / Red Hat:

yum install mutt

б) если используем Ubuntu / Debian:

apt-get install mutt

Теперь можно пользоваться. Синтаксис:

echo “Текст сообщения” | mutt -s “Тема”  — <кому отправить>

Примеры использования Mutt

Отправить вложение :

echo “Attachment” | mutt -s “subject” -a /var/log/maillog — master@test.ru

* где /var/log/maillog — файл, который будет прикреплен к письму.

Указать отправителя:

echo “Mail From” | mutt -s “subject” -e ‘my_hdr From: Дмитрий postmaster@test.ru’ — master@test.ru

* данной командой mutt отправит письмо от postmaster@test.ru.

Step 2: Uninstall Postfix 2 / Sendmail / sSMTP

The next thing we have to do is to ensure that there aren’t any other mail sending softwares configured within our server, unless we really want to keep Postfix 3 and one (or more) of them. In case we don’t, we can easily uninstall all of them with the following terminal commands:

Shell

# sudo yum remove postfix
# sudo yum remove ssmtp
# sudo yum remove sendmail

1
2
3

# sudo yum remove postfix
# sudo yum remove ssmtp
# sudo yum remove sendmail

Although performing a
yum remove  is a required step for Postfix – assuming we want to install a newer version – we could also choose to 
systemctl disable  and 
systemctl stop  sSMTP and/or Sendmail instead of removing them. The only important thing to do here is to ensure that neither of them will be up and running, otherwise they will prevent our soon-to-be-installed Postfix 3 from working properly.

Синтаксис команды Msg

msg {имя_пользователя|имя_сеанса|код_сеанса| @имя_файла|*}

Параметры команды Msg

  • < имя_пользователя — Задает имя пользователя, получающего сообщение.
  • < имя_сеанса — Задает имя сеанса, получающего сообщение.
  • < код_сеанса — Идентифицирует сеанс, пользователь которого получит сообщение.
  • < @имя_файла — Идентифицирует файл, содержащий список имен пользователей, имен сеансов, коды сеансов, которые получат сообщение.
  • < * — Отправляет сообщение всем пользователям в системе.
  • < /server:имя_сервера — Задает сервер терминалов, сеансы или пользователи которого получат сообщение. Если сервер не указан, параметр /server использует текущий сервер.
  • < /time:секунды — Задает время, в течение которого отправленное сообщение будет отображаться на экране пользователя. При завершении этого времени, сообщение пропадает с экрана. Если ограничение времени не задано, то сообщение будет находиться на экране пользователя до тех пор, пока он не нажмет кнопку OK.
  • < /v — Отображает сведения о выполненных действиях.
  • < /w — Устанавливает режим ожидания ответа от пользователя, получившего сообщение. Этот параметр рекомендуется использовать совместно с параметром /time:секунды, чтобы избежать длительной паузы в случае, если пользователь не может ответить немедленно. Можно также использовать этот параметр совместно с параметром /v.
  • < сообщение — Вводится текст отправляемого сообщения. Если текст сообщения не введен, то система либо попросит сделать это, либо будет использовано стандартное сообщение (STDIN). Чтобы отправить сообщение, содержащее файл, введите символ (>) вслед за именем файла.
  • < /? — Отображает справку в командной строке.

Примеры команды Msg

  • Чтобы отправить сообщение с «Встречаемся сегодня в 13-00» для пользователя Администратор, введите: msg Администратор «Встречаемся в 13-00»
  • Чтобы отправить сообщение пользователю Administrator терминального сервера Dell введите msg Administrator /server:Dell  «Привет»
  • Чтобы отправить сообщение отправить текущему локальному пользователю компьютера Windows10, введите: msg /server:Windows10 «Встречаемся сегодня в 17-00»
  • Чтобы отправить сообщение всем сеансам, содержащимся в файле USERLIST, введите: msg @userlist «Встречаемся сегодня в 13-00»
  • Чтобы отправить сообщение всем вошедшим пользователям, введите: msg * «Встречаемся сегодня в 13-00»
  • Чтобы отправить сообщение всем пользователям с отображением сведений о выполненных действиях введите: msg * /v «Встречаемся сегодня в 13-00».

Рекомендуем для просмотра:

  • Query termserver — отображение списка серверов — 02/06/2011 04:06
  • Query process — сведения о процессах на сервере — 02/06/2011 04:02
  • Mstsc — подключение к удаленному рабочему столу Windows — 31/05/2011 16:03

Шаг 1 — Установка Postfix

Postfix включен в репозиторий Ubuntu по умолчанию, так что вы можете установить его с помощью APT.

Для начала обновите локальный кэш пакетов :

Затем установите пакет с помощью следующей команды

Обратите внимание, что мы передаем переменную среды в эту команду установки. В связи с этим, процедура установки предложит вам настроить некоторые дополнительные опции:. Процедура установки откроет серию интерактивных диалогов

Для целей данного обучающего модуля введите в диалогах следующие данные:

Процедура установки откроет серию интерактивных диалогов. Для целей данного обучающего модуля введите в диалогах следующие данные:

  • General type of mail configuration?: Для данного параметра выберем пункт Internet Site, соответствующий потребностям нашей инфраструктуры.
  • System mail name: это базовый домен, используемый для построения корректного адреса электронной почты, когда имеется только часть адреса с именем учетной записи. Допустим, имя хоста вашего сервера . Возможно вы захотите задать для системной почты имя . В этом случае для имени пользователя Postfix будет использовать адрес .
  • Root and postmaster mail recipient: это учетная запись Linux, на которую будет перенаправляться почта, адресованная и . Используйте для этой цели свою основную учетную запись. В данном примере это имя пользователя sammy.
  • Other destinations to accept mail for: определение получателей почты, которых будет принимать этот экземпляр Postfix. Если вам потребуется добавить любые другие домены, для которых этот сервер будет получать почту, добавьте их здесь. В противном случае значений по умолчанию будет достаточно.
  • Force synchronous updates on mail queue?: поскольку вы вероятно используете журнальную файловую систему, выберите No.
  • Local networks: это перечень локальных сетей, для которых ваш почтовый сервер настроен как реле пересылки сообщений. Значение по умолчанию подойдет для большинства случаев. Если вы пожелаете изменить его, постарайтесь максимально ограничить диапазон сетей.
  • Mailbox size limit: используется для ограничения размера сообщений. Значение «» отключает любые ограничения размера.
  • Local address extension character: символ, используемый для отделения обычной части адреса от расширения (используется для создания динамических псевдонимов). Для этого обучающего модуля подойдет значение по умолчанию «».
  • Internet protocols to use: укажите, нужно ли ограничивать версии протокола IP, поддерживаемые Postfix. Для целей данного обучающего модуля выберите вариант «all».

Приведем настройки, использованные в этом руководстве:

  • General type of mail configuration?: Internet Site
  • System mail name: (не )
  • Root and postmaster mail recipient: имя пользователя основной учетной записи Linux (в наших примерах sammy)
  • Other destinations to accept mail for:
  • Force synchronous updates on mail queue?: No
  • Local networks:
  • Mailbox size limit:
  • Local address extension character:
  • Internet protocols to use: all

Примечание. Если впоследствии вам потребуется изменить эти настройки, введите команду:

Для параметров будут указаны заданные ранее значения.

После завершения процедуры установки можно внести некоторые изменения в конфигурацию Postfix.

Отправка почты

В зависимости от дистрибутива, который вы используете, может понадобиться установить дополнительные пакеты, такие как mailutils, чтобы команда mail нормально работала.

Пользователи Debian/Ubuntu могут воспользоваться командой apt-get:

# apt-get install mailutils

Пользователи Fedora / CentOS / Red Hat Enterprise Linux (RHEL) могут сделать это с помощью yum:

# yum install mailutils

Теперь команда mail должна быть готова к работе.

$ mail -s "Hello World" 

Теперь вы можете вводить текст письма. Когда закончите, нажмите «control-D» в начале новой строки.

# mail -s "This is the subject" 
Cc: 
Hi Silver
How are you doing
Hope its going fine.
Bye

Вы отправили первое письмо из командной строки. Содержимое письма можно вставить из файла.
В некоторых дистрибутивах командная оболочка сначала запросит в интерактивном режиме ввод других полей, таких как «Cc» (Carbon copy). Просто нажимайте «Enter», чтобы пропустить этот этап. Когда вы введете адрес или адреса электронной почты, необходимо нажать «Enter», чтобы перейти на новую строку, к телу письма.
После нажатия Ctrl+D вы возвращаетесь в командную строку без каких либо дополнительных оповещений. Однако ваше письмо было отправлено.
Интересно, что если вы ничего не введете в теле письма и нажмете Ctrl+D, команда mail отреагирует на это:

# mail -s "This is the subject" 
Cc: 
Null message body; hope that's ok

Если тело письма хранится у нас в отдельном файле, мы можем напрямую использовать его для отправки письма. Это полезно при вызове команды mail из скриптов, или других программ, написанных, например, на perl или php.

$ mail -s "Hello World"  < /home/user/mailcontent.txt

Или быстрая отправка письма одной строкой:

# echo "This is the message body" | mail -s "This is the subject" 

Другие полезные параметры команды mail:

Ниже пример использования этих опций:

$ mail -s "Hello World"  -c  -b 

Возможно задавать несколько получателей, перечисляя их адреса через запятую.

$ mail -s "Hello World" ,

Указать адрес отправителя тоже несложно, но здесь есть своя хитрость. После отправляемого письма необходимо добавить перед своим адресом следующую последовательность символов:

(двойное тире) (пробел) (одинарное тире) (без пробела) f

Ниже пример:

$ mail -s "Hello World"  -- -f 

Однако приведенная выше последовательность может работать в centos, но не в debian или ubuntu. В этих системах используется альтернативный синтаксис:

# echo "This is the message body" | mail -s "This is the subject"  -aFrom:

Опция a в целом добавляет дополнительные заголовки. Чтобы задать с ее помощью отправителя, используется следующий синтаксис:

# echo "This is the message body" | mail -s "This is the subject" m00 -aFrom:Blogger\<\>

Обратите внимание, что бы экранируем угловые скобки, так как они могут иметь свое назначение для командной оболочки

Проверка доступности почтового сервера программным методом

В данной статье описаны лишь некоторые варианты ошибок, которые могут возникнуть при отправке электронных сообщений. Полный перечень достаточно объемен и во многом зависит от настроек конкретного сервера как на стороне отправителя, так и получателя. Некоторые из ошибок могут быть легко устранены обычным пользователем, другие под силу лишь опытным администраторам.

Одним из способов предупреждения появления ошибок является онлайн-проверка доступности почтового сервера с помощью бесплатных инструментов:

  • https://mxtoolbox.com
  • https://www.ultratools.com
  • http://mail2web.com

Эти сервисы пробуют подключиться к почтовому серверу по SMTP, подтверждают, что у него есть запись обратной зоны DNS, и замеряют время отклика. С их помощью можно диагностировать некоторые ошибки службы почтовых серверов или проверить, не занесен ли данный ресурс в черные списки из-за спама.

Прочитав эту статью, обратите внимание на то, как настроен ваш почтовый сервер на получение сторонних писем по SMTP-протоколу

Быть может, в данный момент ваш антиспам или локальная политика фильтрации входящих сообщений блокирует получение очень важного и нужного для вас месседжа? Проверьте сами или обратитесь к системному администратору. Если ошибку с SMTP никак не удается решить, то попробуйте обратиться в службу поддержки почтового сервера. Если ошибку с SMTP никак не удается решить, то попробуйте обратиться в службу поддержки почтового сервера

Если ошибку с SMTP никак не удается решить, то попробуйте обратиться в службу поддержки почтового сервера.

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: