Отправка почты через консоль CMD
Привет я хочу отправить почту через консоль Microsoft cmd. Я пробовал много раз, но не преуспел.
Я пробовал эту статью http://jpsoft.com/help/index.htm?sendmail.htm
sendmail "bob@bob.com bcc:joe@joe.com" 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 filesmicrosoft officeoffice12outlook.exe" /c ipm.note /m someone@gmail.com /a "c:logslogfile.txt"
ошибка :
the process can not access the file because it is being used by another proccess
но это не сработало. я не знаю, в чем проблема или в чем проблема.
спасибо за совет.
4 ответов
сценарий:
Ваш домен: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
2. Подключитесь к их почтовому серверу
SMTP связывается через порт 25. Теперь мы попытаемся использовать TELNET для подключения к их почтовому серверу "mail.theirdomain.com"
открыть a CMD prompt
TELNET MAIL.THEIRDOMAIN.COM 25
вы должны увидеть что-то вроде этого в качестве ответа:
220 mx.google.com ESMTP 6si6253627yxg.6
имейте в виду, что разные серверы будут придумывать разные приветствия, но вы должны что-то получить. Если ничего не происходит в этот момент, есть 2 возможные проблемы. Порт 25 блокируется в брандмауэре или их сервер не отвечает. Попробуйте другой домен, если это работает, то это не ты.
3. Отправить письмо
теперь, используйте простые команды SMTP для отправки тестового письма. Это очень важно, вы не можете использовать клавишу backspace, она будет работать на экране, но не будет правильно интерпретирована. Вы должны ввести эти команды идеально.
ehlo mydomain.com
mail from:<martin9700@mydomain.com>
rcpt to:<recipient@theirdomain.com>
data
This is a test, please do not respond
.
quit
Итак, что все это значит? Эло - познакомьтесь с почтовым сервером HELO также можно использовать, но EHLO говорит серверу использовать расширенный набор команд (не то, что мы используем это).
СООБЩЕНИЕ ОТ - кто послал электронная почта. Убедитесь, что это больше / меньше скобок, так как многие почтовые серверы потребуют этого (Postini).
RCPT К - кому Вы его отправляете. Снова нужно использовать скобки. См. Шаг #4 о том, как проверить ретрансляции почты!
данные - сообщает SMTP-серверу, что ниже приводится текст вашей электронной почты. Обязательно нажмите "Enter" в конце.
. - период только на линии сообщает SMTP-сервер вы все сделали с частью данных, и это ясно, чтобы отправить по электронной почте.
quit-выход из сеанса TELNET.
4. Тест SMTP relay Тестирование SMTP relay очень просто и просто требует небольшого изменения вышеуказанных команд. См. ниже:
ehlo mydomain.com
mail from:<martin9700@mydomain.com>
rcpt to:<recipient@someotherdomain.com>
data
This is a test, please do not respond
.
quit
видите разницу? В строке RCPT TO мы отправляем в домен, который не управляется SMTP-сервером, на который мы отправляем. Вы получите немедленную ошибку-реле SMTP отключено. Если вы можете продолжить и отправить электронное письмо, ретрансляция разрешена этим сервером.
если вы не хотите общаться с SMTP-сервером напрямую через telnet
вы бы использовали почтовые программы командной строки, такие как blat
:
blat -to you@example.com -f me@example.net -s "mail subject" ^
-server smtp.example.net -body "message text"
или bmail
:
bmail -s smtp.example.net -t you@example.com -f me@example.net -h ^
-a "mail subject" -b "message text"
вы также можете написать свой собственный почтовый ящик в VBScript или PowerShell.
из Linux вы можете использовать "swaks", который доступен в качестве официальных пакетов на многих дистрибутивах, включая Debian / Ubuntu и Redhat / CentOS на EPEL:
swaks -f you@example.net -t someone@example.com \
--server mail.example.com