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

MFC Discussion :

Connection au serveur smtp impossible


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2007
    Messages : 38
    Par défaut Connection au serveur smtp impossible
    Bonjour à vous,

    J'essai de faire une appli MFC qui envoie un mail toute seule... Pas de quoi faire clap clap quoi...
    Toutefois j'ai de grosses difficultés à me connecter au serveur smtp en question... J'en ai essayé plusieurs à tout hasard mais rien y fait...
    Je vous présente mon code ci-dessous pour mieux visualiser le problème :

    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
     
    void CEMailingDlg::OnSendMail() 
    {
            SOCKADDR_IN  SockAddr;
    	HOSTENT     *ServerHost;
    	SOCKET       s;
     
    	// Init Socket
    	WSAData wsa;
    	WSAStartup(MAKEWORD(2,0), &wsa);
     
    	//Get server host
    	if ( ( ServerHost = gethostbyname("smtp.gmail.com") ) == NULL )
    	{
    		AfxMessageBox("Serveur non trouvé");
    		return;
    	}
     
    	// Create socket
    	if ( (s = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET )
    	{
    		AfxMessageBox("Impossible de créer la socket");
    		return;
    	}
     
    	// Connect the socket to the SMTP server on port 25
    	SockAddr.sin_addr.s_addr = *((ULONG*)ServerHost->h_addr_list[0]);
    	SockAddr.sin_port=htons(25); // port 25!
    	SockAddr.sin_family = AF_INET;
     
    	if ( connect( s, (sockaddr *) &SockAddr, sizeof(SockAddr) ) < 0 ) // Il essaie il essaie mais finit par abandonner...
    	{
    		switch(WSAGetLastError())
    		{
    		case WSANOTINITIALISED : AfxMessageBox("Impossible de se connecter au serveur smtp (WSANOTINITIALISED)");
    			break;
    		case WSAENETDOWN : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAENETDOWN)");
    			break;
    		case WSAEADDRINUSE : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEADDRINUSE)");
    			break;
    		case WSAEINTR : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEINTR)");
    			break;
    		case WSAEINPROGRESS : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEINPROGRESS)");
    			break;
    		case WSAEALREADY : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEALREADY)");
    			break;
    		case WSAEADDRNOTAVAIL : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEADDRNOTAVAIL)");
    			break;
    		case WSAEAFNOSUPPORT : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEAFNOSUPPORT)");
    			break;
    		case WSAECONNREFUSED : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAECONNREFUSED)");
    			break;
    		case WSAEFAULT : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEFAULT)");
    			break;
    		case WSAEINVAL : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEINVAL)");
    			break;
    		case WSAEISCONN : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEISCONN)");
    			break;
    		case WSAENETUNREACH : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAENETUNREACH)");
    			break;
    		case WSAEHOSTUNREACH : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEHOSTUNREACH)");  // C'est la qu'il atterrit !!! :(
    			break;
    		case WSAENOBUFS : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAENOBUFS)");
    			break;
    		case WSAENOTSOCK : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAENOTSOCK)");
    			break;
    		case WSAETIMEDOUT : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAETIMEDOUT)");
    			break;
    		case WSAEWOULDBLOCK : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEWOULDBLOCK)");
    			break;
    		case WSAEACCES : AfxMessageBox("Impossible de se connecter au serveur smtp (WSAEACCES)");
    			break;
    		}
     
    		AfxMessageBox ("Impossible de se connecter au serveur smtp");
    		return;
    	} 
     
    // pas la peine d'aller plus loin...
     
     
    }

    Cà coince donc sur la méthode "connect"... Mais pourquoi ??, Telle est ma question... :s


    Si quelqu'un a une idée sur ce qu'il me manque ou ce que j'ai mal compris en lisant d'autres codes...? Merci d'avance.

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Il ne manquerait pas un PROTO_TCP dans la création de la socket ?

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2007
    Messages : 38
    Par défaut
    Tout d'abord merci de t'être intéressé à mon problème

    Sinon c'est possible pour l'histoire du PROTO_TCP mais j'avoue que je ne maitrise pas ce point. Tu peux m'en dire un peu plus stp?

  4. #4
    Membre averti
    Inscrit en
    Février 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2007
    Messages : 38
    Par défaut
    J'ai finalement réussi à trouver... Comme souvent c'est la cas la réponse est simple :

    Le code est bon c'est juste que le port est bloqué par l'entreprise...
    Il fallait donc passer par le serveur smtp de l'entreprise pour y arriver...


    Merci quand même pour ton aide nicroman

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JavaMail] Impossible de se connecter au serveur SMTP
    Par samir1441 dans le forum Général Java
    Réponses: 1
    Dernier message: 19/03/2014, 14h20
  2. [javamail] connection au serveur smtp impossible!
    Par cartman97 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 09/06/2010, 23h39
  3. serveur FTP : impossible à se connecter
    Par elvis08150 dans le forum IIS
    Réponses: 8
    Dernier message: 27/02/2007, 12h12
  4. Pb outlook : impossible de se connecter au serveur
    Par teshub dans le forum Outlook
    Réponses: 5
    Dernier message: 10/10/2005, 16h44
  5. [Debutant]Impossible de se connecter au serveur local
    Par Kenji dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 24/04/2005, 19h55

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