Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+6 невидимых) |
![]() |
eXeL@B —› Программирование —› отправка на smtp |
Посл.ответ | Сообщение |
|
Создано: 19 августа 2008 21:07 · Личное сообщение · #1 using System;
почему вот этот наипростейший код при вписывании туда любых известных мне серваков и адресов электронной почты выводит различные ошибки (например 550), а при вписывании в адрес сервака smtp.mail.ru просит авторизироваться. Кароче не работает ни с какими серваками. Кто знает в чем дело?? Кстати какие поля в System.Web.Mail отвечают за авторизацию (логин и пароль) я тоже не знаю подскажите плиз! ![]() ![]() |
|
Создано: 19 августа 2008 22:40 · Поправил: userdom · Личное сообщение · #2 andruja, занимался как-то этой проблемой (баян, конечно). В интернете много исходников, но ни один не позволяет отсылку писем по защищённой связи, а меня интересовало именно это (в частности отсылка "с" и "на" Google Mail). В конце-концов получилось. Если интересует, в архиве indy9.0.18_source, модуль (очень сырой, но рабочий) по отсылке писем и исходники (делал в Делфи 7) --> My_Post (2,6 Мб)<-- http://rapidshare.com/files/138564475/My_Post.zip ![]() |
|
Создано: 19 августа 2008 23:25 · Личное сообщение · #3 нее, мне надо на с#. И все таки я с самого начала не въехал когда читал про smtp что за тупость что указав чужой мейл в поле "from" можно без всякой авторизации отправлять письма с чужого мейла. Потом прочитал что типо появилось расширение smtp где можно авторизироваться, но тока в классе SmtpMail есть тока 2 нормальных члена это метод Send и поле SmtpServer а полей для пароля и логина нету, вот я и хз как их посылать. а защищенная связь это ты имеешь ввиду та в которой нужно авторизироваться?? у меня кроме авторизации еще проблем дофига, так как некоторые другие серверы вообще не реагируют на запросы или выдают ошибки, а мейлклменты то должны работать с любыми серваками. и еще: userdom пишет: В интернете много исходников, но ни один не позволяет отсылку писем по защищённой связи, к чему тогда эти исходники, если они не работают?? ![]() |
|
Создано: 20 августа 2008 00:39 · Личное сообщение · #4 =) у мну была такая тема , решение не было найдено оптимальное , топик был тут же на форуме, ибо таскать либы в 100 кб для ссл чтобы нормально отправить письмо , это издевательство. Что же касается ошибок то может они и в коде у тебя есть , но факт что почтовики все сумма сошли. Блокираторы спама делают свою черную работу. Выход пока соединение через ссл =) Так что не знаю даже , можешь поискать мой топ и если тебя устраивает использовать ссл для авторизации и слать что хочешь , кстати примеры на си шарп я видел на кодпрожект сайте. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 20 августа 2008 01:44 · Личное сообщение · #5 mak пишет: же касается ошибок то может они и в коде у тебя есть , но факт что почтовики все сумма сошли а ето собственно и есть весь мой код (слит из одной книжки). собстно написание этого кода и программированием то не назовешь))) но книжка то по программированию и работать код должен, да и по сути все понятно что в этом коде и ошибок нет (все обязательные поля заполнены). и если сможешь то скинь плиз каких-нить кодов с кодпрожекта или еще откуданить ![]() ![]() |
|
Создано: 20 августа 2008 01:47 · Личное сообщение · #6 вот этот код написан с помошью встроенного в НЕТ.фреймворк класса систем.веб.майл, тоесть тут даже думать не нада просто заполняй поля как в обычным мейл-агенте-программе, но все равно ниче не пашет, но нормальные профессиональные мейл-клиенты же пашут, а их писали чтоли не с помощью этого глюкавого класса систем.веб.майл ?? ![]() |
|
Создано: 20 августа 2008 06:35 · Личное сообщение · #7 На сколько я понимаю с бесплатными почтовыми серверами такие фокусы не пройдут, там действительно везде стоит smtp-авторизация. Чтобы отправить письмо с адреса billy@microsoft.com придется гдето у себя подымать почтовый сервант без авторизации. А вообще можно попробовать поискать исходники/подебажить пинча который через smtp логи шлет....ведь там то както реализована отправка и даже на общедоступные сервера....и никакого ссл там походу нет... ----- бессмысленные манипуляции не становятся более разумными если их повторять ![]() |
|
Создано: 20 августа 2008 07:06 · Поправил: Miklen · Личное сообщение · #8 SecurAdmin, не обязательно "поднимать" почтовый сервак. Все можно сделать руками ![]() Дело в том, что почтовые сервера между собой обмениваются немного по-другому. А именно берут из зоны MX (mail exchange) имя сервера. чтобы узнать сервис для отправки например на mail.ru сделай в консоли винды следующее: запустить nslookup > set type=mx > mail.ru Server: XXXXXXXXXXXX <=== адрес твоего DNS Address: XXX.XXX.XXX.XXX DNS request timed out. timeout was 2 seconds. Non-authoritative answer: mail.ru MX preference = 10, mail exchanger = mxs.mail.ru mail.ru nameserver = ns5.mail.ru mail.ru nameserver = ns.mail.ru mail.ru nameserver = ns1.mail.ru mail.ru nameserver = ns2.mail.ru mail.ru nameserver = ns3.mail.ru mail.ru nameserver = ns4.mail.ru mxs.mail.ru internet address = 194.67.23.20 > т.е. будет mxs.mail.ru собственно вот. и так для каждого адреса. т.е. для @yandex.ru будет другое!! но и при этом удаленный сервак может забанить тебя, сказав, например, что у тебя динамический IP ![]() |
|
Создано: 20 августа 2008 07:52 · Личное сообщение · #9 вобще вот тут разжовано как все работает www.opennet.ru/docs/RUS/mail/ не знаю, как оно там внутри c#, но вобще все очень просто работает, вот вам для примера отправим что-нить: telnet mxs.mail.ru 25 Trying 194.67.23.20... Connected to mxs.mail.ru. Escape character is '^]'. 220 Mail.Ru ESMTP HELO microsoft.com 250 mx12.mail.ru ready to serve MAIL FROM: support@microsoft.com 250 OK RCPT TO: vasya@mail.ru 250 OK DATA 354 Go ahead From: Support <support@microsoft.com> To: vasya Hello Vasya Please do not use cracked software! . 250 OK id=1KVfRN-000Jrx-00 quit 221 mx12.mail.ru closing connection Connection closed by foreign host. Естественно адрес vasya@mail.ru должен существовать на этом сервере! Вобщем для andruja: ищите как в c# сделать запрос к DNS-серверу зоны MX. вот вроде это подойдет www.codeproject.com/KB/IP/dnslookupdotnet.aspx Второй вариант для вас это завести на том же mail.ru адрес и отправлять через smtp.mail.ru, предворительно вводя имя+пароль. Но тогда вы сможете отправлять почту только с этого заведеного адреса. вот. Ну или как сказал SecurAdmin, свой сервак поставить =) ![]() |
|
Создано: 20 августа 2008 09:54 · Личное сообщение · #10 Miklen пишет: telnet mxs.mail.ru 25 Trying 194.67.23.20... Connected to mxs.mail.ru. Escape character is '^]'. 220 Mail.Ru ESMTP HELO microsoft.com 250 mx12.mail.ru ready to serve MAIL FROM: support@microsoft.com Вот как раз на этом то этапе и скажут что использован динамический IP и отправляющий такую фуфайку будет сразу послан....и я полагаю, что такие манипуляции не пройдут ни на одном общедоступном мэил сервере....хотя наверняка утверждать не буду...по-крайней мере mail.ru меня честно послал ----- бессмысленные манипуляции не становятся более разумными если их повторять ![]() |
|
Создано: 20 августа 2008 12:40 · Поправил: Miklen · Личное сообщение · #11 |
|
Создано: 20 августа 2008 13:26 · Личное сообщение · #12 Miklen Прошло ты уверен ??? У меня в топе тоже народ говорил у тебя код типо рабочий , все впорядке смотри свои адреса на бан. А оказалось что было возвращено удачная отправка , а письмо никуда не ушло. Мало того !!! Ты даже еще заголовки послать не успеешь как будешь послан , обычно на стадии DATA команды , после нее ты уже в бане. Ты проверял письмо ? оно ушло на тот адрес и там лежит и можно читать? SecurAdmin не только намайле , на рамблере , яндексе , и других. Я специально тестил. Диапазон адресов имов был широкий , Россия , америка , и страны европы , постояный Бан результат. Чтоже касается Того же БАТА , то мой бат не работает , хотя ему 1 год уже , как не обновлял. Если это изменения в правилах почтовиков. СКажем измененая аутентификация или еще что то может новые профессиональные почтовики и работают =) Инет для народа !!! Локалка для государства ! ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 20 августа 2008 13:41 · Поправил: SecurAdmin · Личное сообщение · #13 Miklen Дык я и пробовал...результат нулевой, мну посылают. Думаю, на этих серваках всего скорей чтото с аутентификацией намучено... Те же самые манипуляции прекрасно проходят с моим почтовиком, поэтому для меня самое простое решение такой проблемы - установка в локальной сети левого почтового релея ![]() PS: А вот пинч, кстати, для отправки сначала авторизуется на сервере...и это у него прекрасно получается. Так что если нет цели отсылки почты с левого ящика, а целью является собственно отправка почты с серверов использующих такие механизмы аутентификации, то думаю дебаг пинча - самое оптимальное занятие. ----- бессмысленные манипуляции не становятся более разумными если их повторять ![]() |
|
Создано: 20 августа 2008 14:29 · Личное сообщение · #14 |
|
Создано: 20 августа 2008 19:45 · Личное сообщение · #15 mak, таскать либы в 100 кб для ссл чтобы нормально отправить письмо , это издевательство При нынешних МЕГА-ГИГА-байтах и памяти и места, имхо, не столь уж и критично ![]() andruja, а где у тебя идёт настройка порта соединения для smtp, он ведь для разных почтовых серверов не всегда одинаков? М.б. здесь проблема? ![]() |
|
Создано: 20 августа 2008 20:10 · Личное сообщение · #16 userdom пишет: а где у тебя идёт настройка порта соединения для smtp, он ведь для разных почтовых серверов не всегда одинаков? М.б. здесь проблема? в system.web.mail как бы нет поля для вписывания порта, помоему он там внутри класса зашит и его нельзя поменять (кстати вроде они разные тока для pop3 а не для smtp) ![]() |
|
Создано: 20 августа 2008 22:17 · Личное сообщение · #17 |
|
Создано: 20 августа 2008 22:55 · Личное сообщение · #18 |
|
Создано: 21 августа 2008 15:34 · Личное сообщение · #19 Halt пишет: пинч, по крайней мере пинч90 все какие мне попадались файлы, работал через авторизацию. авторизировался на заранее зареганное мыло и осуществлял пересылку куда надо. так что он тут не помошник. Halt, так в том то весь как раз и вопрос...и вопрос этот нужно наверное автору адресовать, что же в итоге он хочет? отправку мыла с фейкового адреса или же отправку мыла как таковую??? Если первый вариант, то я не могу найти для себя конкретных решений иначе как ставить свой мыльный сервак или искать гдето open relay. Если же второй, то копать исходники/код пинча или же искать другие пути...благо в простой отправке мыла ничего "криминального" нет ----- бессмысленные манипуляции не становятся более разумными если их повторять ![]() |
|
Создано: 21 августа 2008 15:42 · Личное сообщение · #20 Это бред ставить мыльный сервак, потому что поидее все что делает сервак можно проделать вручную командой telnet. Не знаю как у вас, но У МЕНЯ ЭТО РАБОТАЕТ. если не верите - запустить сниффер и посмотрите чего там такого оригинального ваш сервак шлёт, что от него вдруг mail.ru письма принимает, а когда ручками тоже самое напишешь - нет. ![]() |
|
Создано: 21 августа 2008 16:22 · Личное сообщение · #21 Вот смтп от пинча , мне он не помог , также банит ип и ошибка. Искал в пинче 2 майл сендер не нашел ...странно ![]() ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 21 августа 2008 19:40 · Поправил: userdom · Личное сообщение · #22 Вот ещё один почтовик Валериана Кадышева - StudMailer, но меня не устроило, что не может работать с гуглемейл (т.е. послать письмо на гуглемейл можно, а вот с гуглемейла отправить письмо не получится ![]() работает без проблем. Если есть у кого интерес, в архиве программа и исходники для Делфи. ![]() ![]() |
|
Создано: 01 сентября 2008 14:16 · Личное сообщение · #23 borov ты знаешь как перекодировать русский шрифт писем чтобы когда их получаешь через ПОП3 они нормально отображались в моем почтклиенте. а то если шрифт русский, то все отображается в виде "?????????". В какую функцию прередать текст чтобы переконвертировать в нормальный русский?? И еще когда посылаешь команду RETR то сервак сразу отсылает текст письма вместе со всеми заголовками, значит нет никаких команд чтобы он посылал отдельно текст и заголовки?? Типо единственный способ их разбить это разбивать самому?? ![]() |
|
Создано: 01 сентября 2008 17:08 · Личное сообщение · #24 |
|
Создано: 01 сентября 2008 17:34 · Личное сообщение · #25 ManHunter пишет: открой в своем почтовом клиенте любое письмо и посмотри как оно устроено. в TheBat это кнопка F9. при отправке вручную делаешь примерно такое же письмо с такой же структурой нее, мне надо не при отправке, а при чтении, при отправке все нормально, а при чтении писем с русской кодировкой текст отображается в виде "???????". то есть значит мне нужна функция обратная base64 ?? как она называется? ![]() |
|
Создано: 01 сентября 2008 19:32 · Поправил: Miklen · Личное сообщение · #26 andruja, всё не так просто при приёме сообщений. это может быть MIME/Bas64/Quoted-printable.... а если там HTML (это MS Outlook любит).... ? вот например на питоне примерно такая чушь получается (я писал первый раз на питоне, так что не совсем красиво код выглядит). Это при том что здесь используются готовые библиотеки. Code:
P.S. да, изначально хотел на c# писать, потом выполнять в mono (Linux), но... там таких клёвых библиотек для мыльника не нашёл =) ![]() |
![]() |
eXeL@B —› Программирование —› отправка на smtp |