begin process at 2012 05 29 02:01:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

comment envoyer un mail?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment envoyer un mail?

jeudi 23 août 2007 à 16:23:51 | comment envoyer un mail?

ndubien

Membre Club

Bonjour,

Comme certains pourrons l'apercevoir, j'ai déjà posé cette question mais aucune réponse ne m'a été apportée. C'est pourquoi je la repose.



j'ai un problème avec MAPISendMail,
lorsque je choisi un envoyeur, celui-ci n'est pas pris en compte et le message est envoyé avec mon adresse de messagerie par defaut sur Outlook express. Si je ne possède pas de compte outlook, le message ne part part.

Ma fonction pour envoyer des mails est fortement inspirée de la source de
http://www.cppfrance.com/codes/ENVOYER-MAIL-AVEC-PIECE-JOINTE-UTILISE-MAPI-VCPLUSPLUS_9872.aspx
La voici :

void envoyer(char nomfrom[100], char nomto[100], char adressefromTemp[110], char adresseto[100], char objet[256], char mesg[4096], char piece[1024]) {
     LPMAPILOGON lpfnMAPILogon;
     LPMAPISENDMAIL lpfnMAPISendMail;
     LPMAPILOGOFF lpfnMAPILogoff;
    
     LHANDLE lhSession;
     HANDLE hMAPILib;
     hMAPILib = LoadLibrary("MAPI32.DLL");
    
     char adressefrom[115] = "SMTP:";
     strcat(adressefrom,adressefromTemp);
    
     MapiRecipDesc recipient = {0, MAPI_TO, nomto, adresseto, 0, NULL};
     MapiRecipDesc sender = {0, MAPI_ORIG, nomfrom, adressefrom, 0, NULL};
     MapiFileDesc attach = {0, 0, -1, piece, NULL, NULL};
     MapiMessage message = {0, objet, mesg, NULL, NULL, NULL, 0, &sender, 1, &recipient, 1, &attach};
    
     lpfnMAPILogon = (LPMAPILOGON)GetProcAddress((HMODULE)hMAPILib, "MAPILogon");
     lpfnMAPISendMail = (LPMAPISENDMAIL)GetProcAddress((HMODULE)hMAPILib, "MAPISendMail");
     lpfnMAPILogoff = (LPMAPILOGOFF)GetProcAddress((HMODULE)hMAPILib, "MAPILogoff");
     (*lpfnMAPILogon)(0, NULL, NULL, 0, 0, &lhSession);
     (*lpfnMAPISendMail)(lhSession, 0, &message, 0, 0);
     (*lpfnMAPILogoff)(lhSession, 0, 0, 0);
    
     FreeLibrary((HMODULE)hMAPILib);
}

Comment faire pour que nomfrom[100] et adressefromTemp[110] soient les "coordonnées" de l'expéditeur? Et que mon adresse par defaut ne soit pas utilisé comme expéditeur : enfin, qu'elle ne soit pas visible par le destinataire qui ne recevra que l'adresseet le nom contenue dans adressefromTemp et nomfrom?



Si toute fois, vous ne savez pas comment fonctionne MAPI, pouvez-vous si vous connaissez une autre manière d'envoyer un mail, m'en faire part et de m'expliquer comment l'utiliser.


En C API Win32...
Merci d'avance et à bientôt.

Nico
jeudi 23 août 2007 à 18:41:55 | Re : comment envoyer un mail?

omnia

bon pour envoyer un mail c'est assez simple c'est un standard, la communicaion est de type TELNET, faire une recherche sur les rfc SMTP, quelques codes sont assez bien fait sur le site pour t'expliqué comment faire,


pour la pièce jointe il faut coder le fichier en BASE64, sa a l'air compliqué comme sa mais un programme en C/C++ qui permet d'envoyer un mail avec fichier en moin de 300 lignes de codes c'est fesable , voila bon codage :)
jeudi 23 août 2007 à 18:43:39 | Re : comment envoyer un mail?

omnia

si tu es trop désemparé je te ferait un code d'exemple ^^
lundi 27 août 2007 à 15:30:33 | Re : comment envoyer un mail?

ndubien

Membre Club

Et bien pour la proposition du code d'exemple...
Je dirais pourquoi pas parce que je ne vois pas du tout comment m'y prendre.
Merci d'avance

Et à bientôt.
Nico
mardi 28 août 2007 à 18:33:40 | Re : comment envoyer un mail?

omnia

Réponse acceptée !
Salut je viens de poster une source qui devrais t'aider,

http://www.cppfrance.com/code.aspx?ID=43911

CIAO bon codage
mercredi 29 août 2007 à 17:06:04 | Re : comment envoyer un mail?

ndubien

Membre Club
Merci pour tous ces conseils je vais aller voir ta source
Et encore merci...
Nico


Cette discussion est classée dans : message, mail, envoyer, char, hmapilib


Répondre à ce message

Sujets en rapport avec ce message

Problème avec MAPISend Mail [ par ndubien ] Bonjour,j'ai un problème avec MAPISendMail,lorsque je choisi un envoyeur, celui-ci n'est pas pris en compte et le message est envoyé avec mon adresse Signal [ par bilumbo13 ] Bonjour, Voila mon problème : ( j'espère que vous pourrez m'aider ) j'ai deux processus " un ecrivain " et " un lecteur " le processus écrivain ecr envoyer un mail en c++ [ par dacor ] Bonjour,comment je pourrais envoyer un mail (avec un sujet, corp) à partir de mon pg c++ sous linux.merci pour votre aide Probleme de concaténation [ par korialstraz ] Bonjour, je travaille actuellement en projet sur la liaison serie rs232, partie que j'ai bien comprise (enfin jespere^^), cependant un petit probleme envoyer un entier avec send() [ par nostalgius ] Salut tout le monde.. Voilà, tout est dans le titre du poste, j'ai bon cherché, j'arrive pas à envoyer un simple int par la fonction send(), c'est dû Envoyer un message WM_USER à un service ? [ par spectrobob ] Comment fait-on pour envoyer un message de type WM_USER d'un exécutable  console (MFC) vers un service windows (MFC) donc sans handle de fenêtre ?Merc Aidez-moi à tracer les traces d'un mail... [ par chaokio ] Bonsoir à tous les programmeurs et programmeuses,<?xml:names Convertion d'entiers/flottant vers un char* [ par katerson ] Bonjour! Dans le cadre d'un échange de données serveur/client, j'ai besoin de convertir plusieurs int dans un char* afin d'envoyer la chaine via prot Demande l'aide des meilleurs ! ;) [ par jekburn ] Bonjour, Le programme suivant devrait d'en un futur proche sortir et enregistrer toutes les adresses mail existantes. Mais là, la fatigue surement !


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales