Отправка почты из командной строки windows. Прием и отправка почты из командной строки

08.04.2019 Ios

Сценарий: ваш домен: домен mydomain.com вы хотите отправить: theirdomain.com

1. Определите почтовый сервер, на который вы отправляете. Открыть приглашение CMD Тип

NSLOOKUP set q=mx theirdomain.com

Non-authoritative answer: theirdomain.com MX preference = 50, mail exchanger = mail.theirdomain.com Nslookup_big

EDIT Обязательно введите exit для завершения NSLOOKUP.

2. Подключитесь к своему почтовому серверу

SMTP обменивается данными по порту 25. Теперь мы попытаемся использовать TELNET для подключения к своему почтовому серверу "mail.theirdomain.com"

Откройте приглашение CMD

TELNET MAIL.THEIRDOMAIN.COM 25

Вы должны увидеть что-то вроде этого как ответ:

220 mx.google.com ESMTP 6si6253627yxg.6

Имейте в виду, что разные серверы будут иметь разные приветствия, но вы должны получить ЧТО-ТО. Если в этот момент ничего не возникает, есть две возможные проблемы. Порт 25 заблокирован на вашем брандмауэре, или их сервер не отвечает. Попробуйте другой домен, если это работает, тогда это не вы.

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

Теперь используйте простые SMTP-команды для отправки тестового сообщения. Это очень важно, вы НЕ МОЖЕТЕ использовать ключ backspace, он будет работать на экране, но не будет правильно интерпретироваться. Вы должны набирать эти команды отлично.

Ehlo mydomain.com mail from: rcpt to:

Итак, что это значит? EHLO - представитесь на почтовом сервере HELO также можно использовать, но EHLO сообщает серверу использовать расширенный набор команд (а не тот, который мы используем).

MAIL FROM - кто отправляет электронное письмо. Убедитесь, что это больше или меньше, чем в скобках, так как для этого потребуется много серверов электронной почты (Postini).

RCPT TO - кто вы его отправляете. Снова вам нужно использовать скобки. См. Шаг № 4 о том, как проверить ретрансляцию почты!

DATA - сообщает серверу SMTP, что следующее - это тело вашего письма. Не забудьте нажать "Enter" в конце.

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

quit - завершает сеанс TELNET.

4. Тестирование SMTP-реле Тестирование SMTP-реле очень простое и просто требует небольшого изменения вышеуказанных команд. Увидеть ниже:

Ehlo mydomain.com mail from: rcpt to: data This is a test, please do not respond . quit

Увидеть разницу? В строке RCPT TO мы отправляем домен, который не контролируется сервером SMTP, на который мы отправляем. Вы получите немедленную ошибку: SMTP-реле выключено. Если вы можете продолжить и отправить электронное письмо, тогда ретрансляция разрешена этим сервером.


Автор: Silver Moon
Дата публикации: 27 августа 2013 года
Перевод: А. Кривошей
Дата перевода: декабрь 2013 г.

Обычно для приемки и отправки почты используются веб-сервисы типа gmail и yahoo, или графические почтовые клиенты. Однако в linux мы можем также отправлять или получать почту в командной строке. Это полезно в таких ситуациях, как отправка почты из скриптов, или в случаях, когда графическая оболочка недоступна.
В этом руководстве описывается, как использовать команду mail для приема и отправки почты.

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

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

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

# apt-get install mailutils

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

# yum install mailutils

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

Выполните приведенную ниже команду, заменив «[email protected]» на свой адрес электронной почты. Опция s задает тему письма.

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

# mail -s "This is the subject" [email protected] 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" [email protected] Cc: Null message body; hope that"s ok

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

$ mail -s "Hello World" [email protected]

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

# echo "This is the message body" | mail -s "This is the subject" [email protected]

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

S subject (тема письма)
-c email-address (CC — отправка копии письма по адресам email-address)
-b email-address (BCC — отправка скрытой копии письма по адресам email-address)

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

$ mail -s "Hello World" [email protected] -c [email protected] -b [email protected]

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

$ mail -s "Hello World" [email protected],[email protected]

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

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

Ниже пример:

$ mail -s "Hello World" [email protected] -- -f [email protected]

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

# echo "This is the message body" | mail -s "This is the subject" [email protected] -aFrom:[email protected]

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

# echo "This is the message body" | mail -s "This is the subject" [email protected] -aFrom:Blogger\

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

Отправка писем с вложениями

Команда mail используется до сих пор, так как это простой и быстрый способ отправки писем, однако она, к сожалению, не поддерживает отправку вложений. Теперь мы сделаем следующий шаг и откроем для себя MUTT. Это очень мощный консольный почтовый клиент, и он умеет намного больше, чем просто отправка писем с вложениями, но в данном случае нас интересует именно эта возможность.

Если mutt по умолчанию у вас не установлен, вы можете сделать это с помощью apt-get или yum от имени root (или используя sudo):

Для пользователей Debian / Ubuntu:

# apt-get install mutt

Для пользователей Fedora / CentOS или Red Hat Enterprise Linux (RHEL):

# yum install mutt

Теперь вы можете отправлять письма с вложениями из командной строки.

Отправка простого письма:

# echo "This is the message body" | mutt -s "hello" [email protected]

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

$ mutt -s "Hello World" -a /home/user/file_to_attach.tar.gz [email protected]

Все просто.

Отправка писем из скриптов bash/shell

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

#!/bin/bash du -sh | mail -s "disk usage report" [email protected]

Откройте новый файл, вставьте в него приведенные выше строки, сохраните и запустите. Вы получите письмо, содержащее вывод команды «du -sh».
И последняя хитрость в письмах из командной сроки — добавление вложений к письмам, отправляемым из скриптов. Предположим, вам необходимо сделать резервную копию директории с конфигурационными файлами, заархивировать ее и отправить в качестве вложения с помощью mutt:

#!/bin/bash tar -zcf /home/user/backup.tar.gz /home/user/files_to_backup echo "Archived configuration files" | mutt -a /home/user/backup.tar.gz -s "backup data" [email protected]

Команда echo в начале третьей строки добавляет текст «Archived configuration files» в тело письма.

Чтение писем

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

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

$ mail Heirloom Mail version 12.4 7/29/08. Type ? for help. "/var/spool/mail/hcg": 2 messages 2 new >N 1 [email protected] Thu Aug 1 16:53 81/3034 "Hello World" N 2 [email protected] Thu Aug 1 16:54 82/3061 "disk usage report" &

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

Команда Maildir-utils

«mu» — это набор утилит командной строки для Linux/Unix, который позволяет производить быстрый поиск писем.

Пользователи Debian/Ubuntu могут установить его с помощью apt-get:

# apt-get install maildir-utils

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

# yum install maildir-utils

Ниже пара простых команд из этого пакета:

$ mu find from:william subject:report

для поиска писем от william с темой report.

Чтобы проверить текущие настройки почты, используется опция info.

# mu-tool info VERSION=2.99.97 SYSCONFDIR=/etc MAILSPOOLDIR=/var/mail/ SCHEME=mbox LOG_FACILITY=mail .....

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

Источник http://rus-linux.net/MyLDP/consol/mails.html

Оригинал: Linux mail command examples - send mails from command line
Автор: Silver Moon
Дата публикации: 27 августа 2013 года
Перевод: А. Кривошей
Дата перевода: декабрь 2013 г.

Обычно для приемки и отправки почты используются веб-сервисы типа gmail и yahoo, или графические почтовые клиенты. Однако в linux мы можем также отправлять или получать почту в командной строке. Это полезно в таких ситуациях, как отправка почты из скриптов, или в случаях, когда графическая оболочка недоступна.
В этом руководстве описывается, как использовать команду mail для приема и отправки почты.

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

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

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

# apt-get install mailutils

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

# yum install mailutils

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

Выполните приведенную ниже команду, заменив "[email protected]" на свой адрес электронной почты. Опция s задает тему письма.

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

# mail -s "This is the subject" [email protected] 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" [email protected] Cc: Null message body; hope that"s ok

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

$ mail -s "Hello World" [email protected] < /home/user/mailcontent.txt

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

# echo "This is the message body" | mail -s "This is the subject" [email protected]

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

S subject (тема письма)
-c email-address (CC - отправка копии письма по адресам email-address)
-b email-address (BCC - отправка скрытой копии письма по адресам email-address)

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

$ mail -s "Hello World" [email protected] -c [email protected] -b [email protected]

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

$ mail -s "Hello World" [email protected],[email protected]

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

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

Ниже пример:

$ mail -s "Hello World" [email protected] -- -f [email protected]

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

# echo "This is the message body" | mail -s "This is the subject" [email protected] -aFrom:[email protected]

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

# echo "This is the message body" | mail -s "This is the subject" [email protected] -aFrom:Blogger\

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

Отправка писем с вложениями

Команда mail используется до сих пор, так как это простой и быстрый способ отправки писем, однако она, к сожалению, не поддерживает отправку вложений. Теперь мы сделаем следующий шаг и откроем для себя MUTT. Это очень мощный консольный почтовый клиент, и он умеет намного больше, чем просто отправка писем с вложениями, но в данном случае нас интересует именно эта возможность.

Если mutt по умолчанию у вас не установлен, вы можете сделать это с помощью apt-get или yum от имени root (или используя sudo):

Для пользователей Debian / Ubuntu:

# apt-get install mutt

Для пользователей Fedora / CentOS или Red Hat Enterprise Linux (RHEL):

# yum install mutt

Теперь вы можете отправлять письма с вложениями из командной строки.

Отправка простого письма:

# echo "This is the message body" | mutt -s "hello" [email protected]

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

$ mutt -s "Hello World" -a /home/user/file_to_attach.tar.gz [email protected] < home/user/mailcontent.txt

Все просто.

Отправка писем из скриптов bash/shell

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

#!/bin/bash du -sh | mail -s "disk usage report" [email protected]

Откройте новый файл, вставьте в него приведенные выше строки, сохраните и запустите. Вы получите письмо, содержащее вывод команды "du -sh".
И последняя хитрость в письмах из командной сроки - добавление вложений к письмам, отправляемым из скриптов. Предположим, вам необходимо сделать резервную копию директории с конфигурационными файлами, заархивировать ее и отправить в качестве вложения с помощью mutt:

#!/bin/bash tar -zcf /home/user/backup.tar.gz /home/user/files_to_backup echo "Archived configuration files" | mutt -a /home/user/backup.tar.gz -s "backup data" [email protected]

Команда echo в начале третьей строки добавляет текст "Archived configuration files" в тело письма.

Чтение писем

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

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

$ mail Heirloom Mail version 12.4 7/29/08. Type ? for help. "/var/spool/mail/hcg": 2 messages 2 new >N 1 [email protected] Thu Aug 1 16:53 81/3034 "Hello World" N 2 [email protected] Thu Aug 1 16:54 82/3061 "disk usage report" &

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

Команда Maildir-utils

"mu" - это набор утилит командной строки для Linux/Unix, который позволяет производить быстрый поиск писем.

Пользователи Debian/Ubuntu могут установить его с помощью apt-get:

# apt-get install maildir-utils

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

# yum install maildir-utils

Ниже пара простых команд из этого пакета:

$ mu find from:william subject:report

для поиска писем от william с темой report.

Чтобы проверить текущие настройки почты, используется опция info.

# mu-tool info VERSION=2.99.97 SYSCONFDIR=/etc MAILSPOOLDIR=/var/mail/ SCHEME=mbox LOG_FACILITY=mail .....

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