malan Temat założony przez niniejszego użytkownika |
[Socket] Wysyłanie danych (2) » 2009-09-10 12:37:17 Witam ponownie. Jednak prze noc nic mi się nie udało wymyślić ;p, więc przedstawię problem w nowym raz jeszcze: "Powiedzmy, że chce wysłać maila do osoby, która ma pocztę w serwisie onet.pl. Więc: -ustaliłem adres tego serwera; -łącze się z nim przez port 110; -nawiązuje połączenie; -... i tu pojawia się problem. Jakich 'nagłówków' użyć żeby ten mail dotarł do właściwej osoby ? Próbowałem tak: send_date = "HELO\n"; send_date += "MAIL FROM: " + mail_od + "\n"; send_date += "RCPT TO: " + mail_do + "\n"; send_date += "DATA\n"; send_date += tresc + "\n"; send_date += ".\n"; send_date += "QUIT";
..., ale pomimo iż dostaję komunikat o tym, że nie wystąpiły żadne błędy to maila nie ma...". Orientuje się ktoś może jak to poprawne zrobić ? ;> |
|
pompom |
» 2009-09-10 16:51:12 110? Dlaczego 110? O ile pamiętam, 110 to POP, a ty potrzebujesz SMTP (25). Btw - większość serwisów wymaga zalogowania się, aby używać smtp, żeby ukrócić wysyłanie fałszywych emaili z ich serwerów. Spróbuj najpierw ręcznie wysłać maila korzystając z telnetu i dopiero jak wyjdzie, zrób program. >telnet smtp.poczta.onet.pl 25 220 smtp.poczta.onet.pl ESMTP (3) our local time is now Thu, 10 Sep 2009 16:56:4 4 +0200 HELO A 250 smtp.poczta.onet.pl expected "HELO host-[...].pl" MAIL FROM: <asdfdfsadfsadfdsaf@poczta.onet.pl> 553 5.7.1 Hello [moje ip], for your MAIL FROM address <asdfdfsadfsadfdsaf@p oczta.onet.pl> policy analysis reported: Nieprawidlowa KONFIGURACJA programu poc ztowego, wlacz AUTORYZACJE: http://poczta.onet.pl/autoryzacja/ RCPT TO: <pompom@mixbox.pl> 550 5.7.1 Hello [moje ip], access denied by the policy analysis functions b y earlier rejection QUIT 221 2.0.0 smtp.poczta.onet.pl Out |
|
Patzick |
» 2009-09-10 19:15:33 Poprawiłem temacik, bo Dantego raczej przesyłać nie będziemy ;) |
|
malan Temat założony przez niniejszego użytkownika |
» 2009-09-10 19:49:52 Sory, za błąd w temacie. Nie zauważyłem go (i nie był on umyślny ;p). @pompom: masz rację. pomieszało mi się z tymi serwerami - powinienem łączyć się przez 25 to raz, a dwa w sprawie autoryzacji też masz rację: Fragment strony http://www.technoids.org/saslmech.html: C: AUTH LOGIN S: 334 VXNlcm5hbWU6 C: d2VsZG9u S: 334 UGFzc3dvcmQ6 C: dzNsZDBu S: 235 2.0.0 OK Authenticated
Telnet: 250 smtp.poczta.onet.p220 smtp.poczta.onet.pl ESMTP (4) our local time is now Thu, 10 Sep 2009 19:42:5 0 +0200 helo 250 smtp.poczta.onet.pl expected "HELO [i]host[/i]" J: AUTH LOGIN S: 334 VXNlcm5hbWU6 (Username) J: [i]mój_mail_zakodowony[/i] S: 334 UGFzc3dvcmQ6 (Password) J: [i]moje_hasło_zakodowane[/i] Teraz tylko mi pozostało zakodować mój mail i hasło metodą Base64 encoding (?) (i jeśli nie będzie więcej niespodzianek - victory ;d). |
|
malan Temat założony przez niniejszego użytkownika |
Działa !!! » 2009-09-10 19:59:52 Już wiem ! Ludzie działa ! Dostałem wiadomość ! O ja p!@#$%^& ! Taki szczęśliwy w życiu nie byłem <jupi> xd. Dobra koniec napadu radości ;). Czas przełożyć to na C++ ;d. Od razu człowiek skrzydeł dostaje kiedy coś wychodzi ;). |
|
malan Temat założony przez niniejszego użytkownika |
» 2009-09-11 15:46:15 Temat można zamknąć udało mi się (w końcu) -> wysłałem wiadomość e-mail z własnego programu <jupi> xd. Baaardzo dziękuje wszystkim za pomoc ;). Nagłówki, które potrzeba do wysłania wiadomości e-mailHELOZależnie od serwerów możemy podać np. AUTH PLAIN lub AUTH LOGIN, jeśli komenda będzie błędna serwer odpowie np. " only 'AUTH LOGIN' suported' (w sytuacji, gdy wpiszemy 'AUTH PLAIN'). Wpisując EHLO możemy zobaczyć dostępne usługi na danym serwerze. Następnie: Podajemy swój zakodowany login (adres mail)Podajemy swoje zakodowane hasłoMAIL FROM: < adres_nadawcy> RCPT TO: < mail_odbiorcy> DATASUBJECT: temattresc_naszego_maila.QUITPrzykład wysłania wiadomości mail za pomocą Telnet: (z konta na onet.pl) 220 smtp.poczta.onet.pl ESMTP (2) our local time is now Fri, 11 Sep 2009 15:35:2 6 +0200 HELO 250 smtp.poczta.onet.pl expected "[host]" AUTH PLAIN 504 5.7.1 Hello [ip], Only 'AUTH LOGIN' supported. AUTH LOGIN 334 VXNlcm5hbWU6 zakodowany login 334 UGFzc3dvcmQ6 zakodowane hasło 235 Authentication successful. MAIL FROM: <ja@serwer.pl> 250 2.1.0 Sender syntax Ok; RCPT TO: <admin@ddt.pl> 500 5.5.2 Illegal input characters: Control chars on SMTP input RCPT TO: <admin@ddt.pl> 250 2.1.5 Recipient address syntax Ok; rcpt=<admin@ddt.pl> DATA 354 Start mail input; end with <CRLF>.<CRLF> SUBJECT: Przykladowy temat. Witaj świecie ;). . 250 2.0.0 Accepted; S134220153AbZIKNhPc1708
QUIT ...
O czym musimy pamiętać ? 500 5.5.2 Illegal input characters: Control chars on SMTP input Spójrz na linijkę poprzedzającą błąd... - na pierwszy rzut okna wydawać by się mogło, że wszystko jest ok, a jednak. Ta linijka była wpisywana nie z włączonym CAPS LOCK, a z pomocą SHIFT oraz został użyty backspace. Pamiętaj aby starać się nie używać backspace oraz (jeśli piszesz drukowane litery) wprowadzać je za pomocą CAPS LOCK. Przydane linki: Base64 decoder/encoderAutoryzacja SMTP (strona jest niedostępna) Adresy serwerów pocztowych (na dole strony)Aktualizacja (24-09-2011): |
|
manfred |
» 2009-09-10 18:46:00 Patrząc na temat, wątpię, czy Dante się na to zgodzi ;D |
|
manfred |
» 2009-09-10 19:56:15 Poważnie nie wiesz, co to base64? Google + "base64" = linki m.in. do wiki, gdzie algo kodowania jest opisany. |
|
« 1 » |