Отправка почты из командной строки (консоли) Linux

В данной статье мы рассмотрим основные утилиты для отправки электронных писем по SMTP из консоли Linux – mail/mailx/mutt. Данная инструкция применима ко всем современным дистрибутивам Linux.

Для отправки почты из командной строки Linux вам нужно установить Mail User Agent, которые умеет подключаться к smtp серверам для отправки и получения почты.

В первую очередь рассмотрим утилиту mail (mailx). Для ее установки, выполните:

  • Для Debian/Ubuntu: # sudo apt-get install mailutils
  • Для CentOS/Redhat установите пакет с помощью yum (dnf) # dnf install mailx

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

Основные опции при отправке писем:

  • -s — Subject:
  • -c — Cc:
  • -b
    — BCc:
  • -r — From:

Чтобы отправить простое сообщение из консоли Linux, воспользуйтесь командой:

# echo "Это тестовое письмо" | mail -s "Проверка отправки почты" [email protected]

Проверьте, что письмо доставлено в ящик.

Если вам нужно посмотреть подробные логи отправки писем по SMTP, их можно посмотреть в файле:

# cat /var/log/maillog

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

Чтобы указать другого отправителя письма (mail from), используйте ключ -r

:

# echo "Это тестовое письмо 2" | mail -s "Проверка отправки почты 2" -r [email protected] [email protected]

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

# echo "Это тестовое письмо 3" | mail -s "Проверка отправки почты 3" -r [email protected] [email protected], [email protected]

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

# echo "Это тестовое письмо 4" | mail -s "Проверка отправки почты 4" -r [email protected] -c [email protected]

Если вам нужно прикрепить к письму файл, укажите путь к файлу в параметре –a.

# echo "Файл во вложении" | mail -s "Проверка вложения" -a /root/test.txt -r [email protected] [email protected]

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

# echo "Вложены 2 файла " | mail -s "Вложение нескольких файлов " -a /root/test.txt -a /root/message.log -r [email protected] [email protected]

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

-S smtp= :

# echo "Messages smtp server" | mail -s "Test smtp server" -S smtp="build-centos.ru:25" -r [email protected] [email protected]

Если удаленный SMTP сервер требует авторизации перед отправкой, вы можете указать имя пользователя и пароль с помощью параметров -S smtp-auth-user и -S smtp-auth-password.

# echo "Test auth mailbox" | mail -v -s "Test auth" -S smtp="build-centos. ru:25" -S smtp-auth=login -S smtp-auth-user="[email protected]" -S smtp-auth-password="password" -S [email protected] [email protected]

При запуске этой команды перед вами появятся список SMTP команд для подключения, авторизации и отправки почты.

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

-S smtp-use-starttls
-S ssl-verify=ignore

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

#!/bin/bash
du -h | mail -s "Server 1 disk usage" [email protected]

Добавьте этот скрипт в планировщик cron и вы будете регулярно получать письма с информацией о свободном месте на вашем сервере.

0 0 * * * /home/root/freespace.sh

Еще одна популярная утилита для отправки почты в Linux это mutt:

# sudo apt-get install mutt — для Debian/Ubuntu

# yum install mutt -y — для CentOS/Redhat

Синтаксис mutt такой же, как и у mail/ mailx:

# echo "Text messages mutt" | mutt -s "Test mutt" [email protected]

Если вам нужно просто проверить работу удаленного SMTP сервера, вы можете отправить письмо вручную через telnet.

Таким образом, вы можете легко отправлять письма из командной строки, встраивать отправку email оповещений в свои bash скрипты или ватчдоги (удобно для контроля их выполнения).

Как отправить письмо с вложениями через Gmail — Евгения на vc.ru

{«id»:13909,»url»:»\/distributions\/13909\/click?bit=1&hash=e87ff16fe9acc4ab6e679657dfee7e208034bd6c51a6e340940f747a06ee3261″,»title»:»\u041d\u0430 \u0447\u044c\u0438 \u0434\u0435\u043d\u044c\u0433\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0430\u0433\u0440\u043e\u0431\u0438\u0437\u043d\u0435\u0441? «,»buttonText»:»\u0412\u044b\u0431\u0440\u0430\u0442\u044c»,»imageUuid»:»c3fda453-6636-56e5-a878-3a65822266e4″,»isPaidAndBannersEnabled»:false}

Евгения

31 июл 2022

Итак, вы обзавелись почтовым ящиком в сервисе электронной почты от Google и научились отправлять простые письма. Следующий шаг — отправка писем с вложенными файлами.
Gmail позволяет отправлять в сообщении прикрепленные файлы, суммарный объем которых не превышает 25 МБ. Это могут быть документы, изображения, или иные файлы, размер которых в данный лимит вписывается. Более объемные вложения следует отправлять в виде ссылки на Google Диск, но об этом речь пойдет в другой раз.

На данном этапе я предлагаю сосредоточиться на навыке отправки вложений небольшого размера, используя сервис Gmail на компьютере.
После того, как вы открыли Gmail в браузере, необходимо проделать следующие шаги:
1. Нажмите кнопку «Написать». Она находится в левом верхнем углу.

256 просмотров

2. Внизу открывшегося окна нажмите на значок скрепки.

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


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

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

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

6. Теперь вам остается лишь заполнить поле «Получаетели», «Тема» (при необходимости) и написать текст самого сообщения, если он предусмотрен.
После нажатия кнопки «Отправить» письмо улетит к адресату.

7. После этого в левом нижнем углу экрана появится надпись «Сообщение отправлено».

Кстати! Если вы хотите отправить изображение, его можно перетащить мышкой в письмо прямо из папки. Для этого необходимо отдельно открыть на компьютере папку с нужным изображением, зажать его левой кнопкой мыши, и перетащить непосредственно в браузер — в открытый черновик вашего письма. В этом случае изображение получателю будет видно прямо в письме.

Вот и всё — теперь вы умеете справляться с данной задачей!

Отправка электронной почты в управляемом C++/CLI

В этом руководстве рассказывается, как отправлять электронную почту в управляемом C++/CLI с использованием SMTP. Он также демонстрирует использование SSL, S/MIME, встроенных изображений, очереди электронной почты и нескольких потоков.

Разделы:

  • Отправка электронной почты в простом управляемом проекте C++/CLI
  • Распространенная ошибка транспорта SMTP
  • TLS 1.2
  • Где я могу получить адрес своего почтового сервера SMTP, имя пользователя и пароль?
  • Синтаксис адреса электронной почты и несколько получателей
  • From, ReplyTo, Sender и Return-Path
  • Приоритет почты
  • Поиск и устранение неисправностей
  • Обработка отклоненных сообщений электронной почты (отчет о недоставке)
  • Отслеживание электронной почты
  • Рекомендации для отправителей массовых рассылок

Общая ошибка транспорта SMTP

При выполнении приведенного выше примера кода, если было выдано исключение о «Сетевое подключение» или «Нет такого хоста» , скорее всего, адрес вашего SMTP-сервера неверен. Если он выдал исключение около «5xx Relay отказал» , вполне вероятно, что вы не установить аутентификацию пользователя. Другой распространенной ошибкой является «5xx Должен выполнить команду STARTTLS первый» или «Поддерживаемый маршал аутентификации не найден!» , потому что ваш SMTP-сервер требует аутентификации пользователя при SSL-соединении. Вы можете установить SSL-соединение для решения этой проблемы. Более подробно вы можете узнать в разделе «Устранение неполадок».

TLS 1.2

TLS является преемником SSL, все больше и больше SMTP-серверов теперь требуют шифрования TLS 1.2.

Если ваша операционная система Windows XP/Vista/Windows 7/Windows 2003/2008/2008 R2/2012/2012 R2 , и вы получили ошибку соединения с соединением SSL/TLS, вам необходимо включить протокол TLS 1.2 в вашей операционной системе следующим образом:

Включить TLS 1.2 в Windows XP/Vista/7/10/Windows 2008/2008 R2/2012

Приоритет почты

Если вы хотите установить выше или ниже приоритет вашей электронной почты, вы можете использовать приоритет приоритета

[C# — приоритет почты — пример]

 // Установить высокий приоритет
oMail->Priority = MailPriority::High;
 

Устранение неполадок

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

Исключение «Нет такого хоста»

вы должны проверить, правильно ли вы вводите адрес сервера. Если адрес вашего сервера правильный, вам следует проверить правильность настроек вашего DNS-сервера.

Общее исключение «Сетевое подключение»

Эта ошибка означает, что возникла проблема с сетевым подключением к SMTP-серверу. Вы можете использовать встроенную в Windows команду Telnet для обнаружения сетевого подключения.

Использование Telnet для обнаружения сетевого подключения к SMTP-серверу

Примечание

Примечание: в Windows 2008/Windows 8 или более поздней версии Клиент Telnet не установлен по умолчанию вы должны включить эту команду в Панели управления -> Программы и Функции -> Включение или отключение функции Windows -> проверить Клиент Telnet .

В командной строке DOS введите «telnet [адрес сервера] [порт]»:

 telnet mail.emailarchitect.net 25
нажмите Ввод.
 

Если сетевое подключение к вашему SMTP-серверу хорошее, он должен вернуть сообщение как 220 . .. . Если он возвращает Не удалось открыть соединение с ... , это означает, что сетевое подключение к SMTP-серверу плохое, или исходящий порт 25 заблокирован антивирусом программное обеспечение, брандмауэр или интернет-провайдер. Пожалуйста, взгляните на следующий скриншот:

Порт SMTP 25, 587, 465

25 порт — порт SMTP-сервера по умолчанию для получения электронной почты. Однако некоторые интернет-провайдеры блокируют исходящий порт 25, чтобы пользователь не мог отправлять электронную почту напрямую на другой SMTP-сервер. Поэтому многие провайдеры электронной почты также предоставляют альтернативный порт 587 для получения электронной почты от таких пользователей. Порт 465 — это общий порт, используемый для получения электронной почты через неявное SSL-соединение. Если вы используете telnet для проверки порта 465, он не возвращает «220…», потому что для этого требуется рукопожатие SSL. Но если с соединением все в порядке, telnet возвращает флэш-курсор.

«5xx… IP-адрес заблокирован, или в черном списке, или с плохой репутацией» Исключение

Эта ошибка означает, что SMTP-сервер блокирует ваш IP-адрес или содержимое электронной почты. Вы можете попробовать установить пользователя/пароль в своих кодах для аутентификации пользователя и повторить попытку. Если почтовый клиент устанавливает аутентификацию пользователя, большинство SMTP-серверов не проверяют исходный IP-адрес клиента в черном списке.

«Аутентификация пользователя 5xx» Исключение

TЭта ошибка означает, что аутентификация пользователя не удалась, вы должны проверить, правильно ли вы вводите имя пользователя/пароль. Пароль всегда чувствителен к регистру.

«Ретрансляция 5xx запрещена» Исключение

Для политики защиты от спама большинство SMTP-серверов не принимают электронную почту в исходящий домен без проверки подлинности пользователя. Вы должны установить пользователя/пароль в кодах и повторить попытку.

«5xx Сначала необходимо выполнить команду STARTTLS»

Эта ошибка означает, что SMTP-серверу требуется соединение SSL/TLS. Вы должны включить соединение SSL/TLS следующим образом:

 // Если ваш smtp-сервер требует соединения TLS, добавьте эту строку
oServer->ConnectType = SmtpConnectType::ConnectSSLAuto;
 

«Поддерживаемый маршал аутентификации не найден!»

Эта ошибка означает, что SMTP-сервер не поддерживает аутентификацию пользователя или требует аутентификацию пользователя через соединение SSL/TLS. Вы можете попробовать удалить пользователя/пароль в своих кодах и повторить попытку.

Другая ошибка, возвращенная SMTP-сервером

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

[C++/CLI — использование файла журнала для обнаружения ответа SMTP-сервера — пример]

 oSmtp->LogFileName = "d:\\smtp. txt";
 

Панель ЧМИ серии C-More EA9 Отправка электронной почты

Панель HMI C-More EA9 через порт Ethernet может отправлять защищенные сообщения электронной почты. Эти почтовые сообщения с вложениями можно отправлять через указанный почтовый сервер.

Мы будем отправлять электронное письмо, используя учетную запись Gmail с аутентификацией. Это также будет включать прикрепленный файл зарегистрированных данных. Мы также обсудим, как C-More HMI может отправлять текстовые (SMS) сообщения. Давайте начнем.

Ранее в этой серии C-More EA9 HMI Panel мы сделали следующее:
Аппаратное обеспечение системы
— Видео распаковки и обзора
— Включение устройства Видео
Установка программного обеспечения — Видео
Экраны настройки системы — Видео
Сначала Программа
— Установление связи и обновление встроенного ПО Видео
— Первая программа Видео
Настройки панели для ПЛК и ПЛК для панели — Видео
Меню общего экрана — Видео
Моделирование проекта — Видео
Формы списка объектов — Видео
Кнопки списка объектов — Видео
Список объектов Индикаторы — Видео
Ввод списка объектов — Видео
Список объектов Измерители и графики — Видео
Растровые изображения списка объектов — Видео
Рецепт списка объектов — Видео
Определение пользовательской клавиатуры — Видео
Список объектов Тревоги — Видео
Список объектов Текст — Видео
Список объектов Часы — Видео
Ввод со сканера штрих-кода — Видео
Веб-сервер и удаленный доступ — Видео
Регистрация данных — Видео
Протокол передачи файлов FTP — Видео

Пожалуйста, включите JavaScript

C-More EA9 HMI Панель серии Series отправляет электронное письмо

Посмотрите видео ниже, чтобы увидеть, как C-More EA9 HMI Panel отправляет электронное письмо.

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

Настройка порта Ethernet C-More EA9

Первое, что нам нужно сделать, это убедиться, что наш порт Ethernet настроен в нашей текущей сети. В программном обеспечении для программирования C-more выберите порт Ethernet в разделе «Сеть панели» в меню «Настройка». Он находится на вкладке «Функция» окна навигации.
Кроме того, вы также можете использовать главное меню | Настройка | Сеть панели… Затем выберите Порт Ethernet с левой стороны.

Выберите «Сохранить настройку в проекте (встроенный порт Ethernet).
DNS-сервер настроен на адреса DNS-серверов Google. Это позволит нашему почтовому клиенту найти правильный IP-адрес. Выберите ОК.
Наш порт Ethernet настроен для нашего приложения.

Настройка почтового клиента C-More


Выберите в главном меню | Настройка | Panel Network… Затем выберите «Почтовый клиент» слева. Вы также можете использовать клиент электронной почты в Panel Network в Setup на вкладке Function окна навигации.

Конфигурация сервера
Выберите SMTP — Аутентифицированный для протокола клиента электронной почты. Вы заметите, что поля учетной записи и пароля появятся в окне Panel Network.
Затем мы можем ввести адрес электронной почты отправителя. ([email protected]) Сервер отправки почты (SMTP) будет настроен для сервера Google Gmail. (smtp.gmail.com) DNS-сервер используется для поиска необходимого фактического IP-адреса. Номер порта нужно будет изменить на тот, который использует ваш провайдер. Моему сейчас 25.
Шифрование
Установите флажок «Для этого сервера требуется шифрование». Выберите TLS (обычно порт № 587) и используйте STARTTLS. Gmail предоставляет порт 587 для SMTP с помощью STARTTLS. SMTP с STARTTLS начинается с незашифрованного SMTP, а затем переключается на SSL/TLS.
Аутентификация
Введите имя учетной записи. Обычно это адрес электронной почты Gmail. Затем введите пароль для имени учетной записи.

Вот наше завершенное окно почтового клиента. Выберите ОК.

Адресная книга – Отправка электронной почты

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

Выберите в главном меню | База данных | Адресная книга… Вы также можете использовать адресную книгу в разделе «База данных» в «Настройках» на вкладке «Функция» окна навигации.

Выберите значок «Добавить» в окне «Адресная книга» на вкладке «Почтовый адрес».

Под именем мы выберем Static и введем имя нашего адреса электронной почты. (Гарри)
В разделе «Почтовый адрес» мы выберем «Статический» и введем наш почтовый адрес. ([email protected])
Мы используем статическую опцию для каждого из этих вариантов выбора, но мы также можем использовать имя тега. Таким образом, мы можем создать программу для ввода адреса электронной почты оператором.

Выберите ОК.

Теперь наш почтовый адрес появится в окне адресной книги.
Мы добавим еще один адрес электронной почты. GarryS – [email protected]

Вот наша заполненная адресная книга.

База данных диспетчера мероприятий — отправка электронной почты 

В базе данных диспетчера мероприятий мы определяем информацию об электронной почте и время ее отправки.

Выберите База данных диспетчера событий в разделе База данных на функциональной вкладке окна навигации. Кроме того, вы также можете использовать главное меню | База данных | База данных диспетчера событий…

Будут отображаться наши тревожные события, которые мы обсуждали ранее. Нажмите значок «Добавить +», чтобы добавить другое событие, которое будет отправлять электронное письмо.

Нажмите кнопку «Добавить действие»..

Нажмите кнопку «Почта». Это активирует вкладку почты, которую мы можем установить для события.

Отменить выбор действия «Тревога».
На вкладке почты мы выберем два имени, которые мы запрограммировали выше в нашей базе адресов.
Мы оставим язык по умолчанию. Темой письма будет сообщение C-More. В области сообщений мы можем добавить время, дату и информацию о тегах из нашей базы данных имен тегов. Это может быть смешано с формулировкой, чтобы настроить наше сообщение электронной почты.

Нажмите кнопку с тремя точками (…) рядом с прикрепленным файлом.

Теперь у нас есть возможность прикрепить файл к нашему сообщению электронной почты. Выберите Файл журнала тенденций линии.

Выберите страницу 16 — Регистрация данных: LineTrendGraph2. Это график регистрации данных, который мы создали ранее. Выберите ОК.

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

Нажмите кнопку Добавить.

Добавлено новое событие отправки электронной почты. Перенесите проект на панель HMI.
C-More EA9 HMI Panel отправляет по электронной почте настройку и запуск, которые можно посмотреть на видео ниже.

Do-More Designer Simulator


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

Сообщение электронной почты можно отправить с помощью сенсорного экрана или симулятора ПЛК.

Сообщение электронной почты (Gmail)

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

Нажмите на заголовок сообщения, чтобы можно было прочитать полное сообщение электронной почты.

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

Загрузите программы PLC и C-More здесь.

Посмотрите видео ниже, чтобы увидеть действие события «Отправить письмо» на нашей панели C-More EA9 HMI.

C-More EA9Панели от Automation Direct


https://www.automationdirect.com/adc/overview/catalog/hmi_(human_machine_interface)/c-more_touch_panels_ea9_series
C-More — Графическая панель (серия EA9) Руководство пользователя и краткое описание Начальные руководства
https://cdn.automationdirect.com/static/manuals/ea9userm/ea9userm.html
EA9-T10CL Технические характеристики C-More
https://cdn.automationdirect.com/static/specs/ea9t10cl. pdf
ПО для программирования C-More EA9 (текущая версия V6.42)
https://support.automationdirect.com/products/cmore.html
Это программное обеспечение позволит вам запрограммировать все устройства C-More EA9 HMI.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *