IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 32-bits / 64-bits Assembleur Discussion :

Envoi d'un mail avec smtp


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Envoi d'un mail avec smtp
    Bonjour, j'essaie d'envoyer un simple message texte en utilisant winsock, la sous-routine connect me renvoie 0 donc je crois que la connexion avec Yahoo se fait mais tous les appels de recv ainsi que tous les send renvoient une erreur. J'aimerais savoir pourquoi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    .data
    serveur db "smtp.mail.yahoo.com",0
    TitreErreur db "Erreur",0
    eIpNonTrouve db "l'ip n'a pa été trouve",0
    Einitialisation db "Erreur lors de l'initialisation",0
    Esocket db "Erreur lors de la création du socket",0
    Econnect db "Erreur lors de la conncion",0
    Mconect db "Conecté",0
    Ecom db "Probleme de comunication",0
    TitreMarche db "Marche",0
    ESendFrom db "Erreur lors de l'envoie de l'adresse de source",0
    hello db "EHLO test.test",10,13 ;12
    from db "MAIL FROM: <a href="mailto:testing@hotmail.com">testing@hotmail.com</a>",13,10 ;30
    to db "RCPT TO: <a href="mailto:testing@yahoo.com">testing@yahoo.com</a>",13,10 ;26
    mes db "msg",13,10
    coupe db ".",13,10
    sujet db "Subject: test",13,10
    DataMessage db "DATA",13,10 ;4
    Quiter db "QUIT",13,10;4
     
     
    P_hostent_struct dd 0
     
    IdentSocket dd 0
    bufer db 255 dup(0)
    reponce db 1024 dup(0)
     
    wsaData WSADATA <?>
    sockAddr sockaddr_in <?>
     
    .code
     
    start:
    invoke WSAStartup,202h, addr wsaData
    test eax,eax
    jz initialise
    invoke MessageBox,NULL,addr Einitialisation,addr TitreErreur,MB_OK
    jmp fin
     
    initialise:
    invoke gethostbyname, addr serveur 
    test eax,eax
    jnz ip_trouve
    invoke MessageBox,NULL,addr eIpNonTrouve,addr TitreErreur,MB_OK
    jmp cleanup
     
    ip_trouve:
     
     
    mov eax, [(hostent ptr [eax]).h_list]
    mov eax, [eax]
    mov eax, [eax]
     
     
    mov cx,465
    xchg cl,ch
     
    mov in_addr ptr[sockAddr.sin_addr.S_un.S_addr],eax
    mov word ptr[sockAddr.sin_port],cx
     
    mov word ptr[sockAddr.sin_family],AF_INET
     
     
    invoke socket, AF_INET, SOCK_STREAM, IPPROTO_TCP
    test eax,eax
    jnz SocketCree
    invoke MessageBox,NULL,addr Esocket,addr TitreErreur,MB_OK
    jmp cleanup
     
    SocketCree:
    mov dword ptr[IdentSocket],eax
     
    invoke connect,dword ptr[IdentSocket],addr sockAddr, sizeof sockAddr
    test eax,eax
    jz SeConnect
    invoke MessageBox,NULL,addr Econnect,addr TitreErreur,MB_OK
    jmp cleanup
    SeConnect:
     
    ;;;;;;;;;;;;;;;;;;;;;;;;Les problemes commencent ici;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    invoke recv,dword ptr[IdentSocket],addr reponce,1024,0
    invoke send,dword ptr[IdentSocket],addr hello,16,0
    invoke recv,dword ptr[IdentSocket],addr reponce,1024,0
     
    invoke send,dword ptr[IdentSocket],addr from,32,0
    invoke recv,dword ptr[IdentSocket],addr reponce,100,0
     
    invoke send,dword ptr[IdentSocket],addr to,28,0
    invoke recv,dword ptr[IdentSocket],addr reponce,100,0
     
    invoke send,dword ptr[IdentSocket],addr DataMessage,6,0
     
    invoke send,dword ptr[IdentSocket],addr mes,3,0
     
    invoke send,dword ptr[IdentSocket],addr Quiter,4,0
     
    fermesocket:
    invoke closesocket,dword ptr[IdentSocket]
    cleanup:
    invoke WSACleanup
    fin:
    invoke ExitProcess,0
    end start

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 415
    Points
    59 415
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    A vue de nez, il me semble que tu dois invoquer la fonction Accept pour créer un socket écoutant, avant de pouvoir utiliser Recv.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

Discussions similaires

  1. [SHELL] envoi de mail avec smtp et piece jointe
    Par pitiperchistes dans le forum Linux
    Réponses: 4
    Dernier message: 04/04/2009, 17h12
  2. envoie Mail avec SMTP et Outlook
    Par cbods dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/12/2008, 15h27
  3. Envoi d'un mail avec serveur SMTP Yahoo
    Par Premium dans le forum Modules
    Réponses: 3
    Dernier message: 20/10/2007, 00h22
  4. [phpBB] Envoi d'e-mails avec SMTP
    Par gnaoui_9999 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 28/03/2007, 23h58
  5. [C#] Problème d'envoi de mail avec SMTP local
    Par bossun dans le forum ASP.NET
    Réponses: 10
    Dernier message: 27/02/2006, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo