it-swarm.com.ru

Отправить почту через консоль CMD

Привет, я хочу отправить почту через консоль Microsoft cmd. Я пробовал много способов, но у меня ничего не получилось. 

я попробовал эту статью http://jpsoft.com/help/index.htm?sendmail.htm

sendmail "[email protected] bcc:[email protected]" Test Hello!

ошибка: 

'sendmail' is not recognized as an internal or external command operable program or batch file

а также 

эта статья: http://www.brighthub.com/office/collaboration/articles/21840.aspx#imgn_1

c:\>"c:\program files\Microsoft office\office12\Outlook.exe" /c ipm.note /m [email protected] /a "c:\logs\logfile.txt"

ошибка: 

the process can not access the file because it is being used by another proccess

но это не сработало. я не знаю, где проблема или в чем проблема.

спасибо за совет.

9
user1479273

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

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

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 Prompt 

TELNET MAIL.THEIRDOMAIN.COM 25

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

220 mx.google.com ESMTP 6si6253627yxg.6

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

3. Отправить письмо

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

ehlo mydomain.com 
mail from:<[email protected]> 
rcpt to:<[email protected]> 
data 
This is a test, please do not respond
. 
quit

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

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

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

DATA - сообщает SMTP-серверу, что ниже следует текст вашего письма. Убедитесь, что нажали «Enter» в конце.

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

выйти - выйти из сеанса TELNET.

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

ehlo mydomain.com 
mail from:<[email protected]> 
rcpt to:<[email protected]> 
data 
This is a test, please do not respond 
. 
quit

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

21
Mahmut EFE

Если вы не хотите общаться с SMTP-сервером напрямую через telnet, вы будете использовать почтовые программы командной строки, такие как blat :

blat -to [email protected] -f [email protected] -s "mail subject" ^
  -server smtp.example.net -body "message text"

или bmail :

bmail -s smtp.example.net -t [email protected] -f [email protected] -h ^
  -a "mail subject" -b "message text"

Вы также можете написать свой собственный почтовик в VBScript или PowerShell .

4
Ansgar Wiechers

Из Linux вы можете использовать 'swaks', который доступен в качестве официальных пакетов во многих дистрибутивах, включая Debian/Ubuntu и Redhat/CentOS на EPEL:

swaks -f [email protected] -t [email protected] \
    --server mail.example.com
1
ColinM

Еще пара почтовых программ командной строки:

Оба поддерживают SSL тоже.

0
Roland Pihlakas