Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Socket] Wysyłanie danych (2)

Ostatnio zmodyfikowano 2009-09-10 19:56
Autor Wiadomość
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:
C/C++
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ć ? ;>
P-10145
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
                                            
P-10147
Patzick
» 2009-09-10 19:15:33
Poprawiłem temacik, bo Dantego raczej przesyłać nie będziemy ;)
P-10151
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).


P-10152
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 ;).
P-10153
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-mail

HELO

Zależ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ło

MAIL FROM: <adres_nadawcy>

RCPT TO: <mail_odbiorcy>

DATA

SUBJECT: temat

tresc_naszego_maila

.

QUIT

Przykł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/encoder
Autoryzacja SMTP (strona jest niedostępna)
Adresy serwerów pocztowych (na dole strony)

Aktualizacja (24-09-2011):
  • Dodano informację, iż strona www.technoids.org/saslmech.html nie istnieje.
P-10166
manfred
» 2009-09-10 18:46:00
Patrząc na temat, wątpię, czy Dante się na to zgodzi ;D
P-19294
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.
P-19295
« 1 »
  Strona 1 z 1