ENVOYER UN MAIL AVEC PIECE JOINTE (UTILISE MAPI) EN VC++
Msgbox
Messages postés67Date d'inscriptionlundi 1 juillet 2002StatutMembreDernière intervention 1 septembre 2006
-
1 juil. 2002 à 19:38
Akabane888
Messages postés1Date d'inscriptionvendredi 21 décembre 2007StatutMembreDernière intervention 9 mai 2010
-
9 mai 2010 à 16:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Akabane888
Messages postés1Date d'inscriptionvendredi 21 décembre 2007StatutMembreDernière intervention 9 mai 2010 9 mai 2010 à 16:39
Pour information, ce code marche également avec mozzila thunderbird sous les même conditions, c'est a dire, avec une adresse mail bien configuré, sinon, c'est exactement le même principe.
ndubien
Messages postés557Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention10 mai 20144 23 août 2007 à 16:54
Bonjour,
Juste un truc, je viens de m'apercevoir que le code pour formatter le message ne marchait qu'avec MSN hotmail.
Et pas avec Live messenger, outlook express...
Désolé pour l'erreur.
A+
ndubien
Messages postés557Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention10 mai 20144 18 mai 2007 à 23:27
Bonjour,
Pour ceux que ça interresse, je viens de découvrir une méthode permettant d'envoyer des messages formatés avec ce code.
Voici le code :
mesg est le message formatté à envoyé
et
mesgDepart est le mesage non-formatté
Voilà ces 3 à 4 lignes de codes rendent votre texte formatté.
A+
ndubien
Messages postés557Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention10 mai 20144 18 mai 2007 à 17:12
OUPS,
j'ai oublier de mettre le morceau de code incriminé,
il provient d'une de mes sources personnelles et est fortement inspiré du code de ENVOYER UN MAIL AVEC PIECE JOINTE (UTILISE MAPI) EN VC++.
Je ne parvient pas à envoyer un mail avec un expéditeur différent que celui par defaut sur outlook. Si par exemple je met a@b.c, le mail par avec mon adresse de outlook par defaut. Comment faire pour que le message soit bien envoyé avec l'adresse a@b.c?
Je dispose de windows Xp et de Outlook Express 6.
Aidez-moi s'il vous plaît!!!
Merci d'avance et à bientôt.
En tout cas à par ce problème, il s'agit d'une source interressante.
-----
A bientôt.
lescroel
Messages postés15Date d'inscriptionjeudi 8 janvier 2004StatutMembreDernière intervention 8 février 2005 30 sept. 2005 à 16:32
Bonjour,
Est il possible d'envoyer un mail au format HTML avec cette source ?
Est il possible de mettre un accusé de lecture et un accusé de réception sur le mail envoyé pour être notifié de la bonne réception et de la lecture du mail ?
Merci par avance
Greg
SidSilver
Messages postés13Date d'inscriptionjeudi 13 juin 2002StatutMembreDernière intervention14 janvier 2004 14 janv. 2004 à 11:08
J'ai découvert récemment comment envoyer des messages formatés avec ou sans piece(s) jointe(s) sans utiliser d'utilitaire de messagerie.
Il faut encoder le corps du message en MIME et de l'envoyer via winsock SMTP (cf. ma source "ENVOYER UN MAIL SIMPLE (STMP) EN VC++")
Pour plus d'information sur l'encodage MIME, il suffit d'ouvrir un mail dans outlook express et de regarder son code.
lescroel
Messages postés15Date d'inscriptionjeudi 8 janvier 2004StatutMembreDernière intervention 8 février 2005 14 janv. 2004 à 08:58
Ca marche bien même avec outlook.
Mais j'ai des petits problèmes : lorsque j'envoies des pièces jointes à des destinataires extérieurs, il recoivent le mail avec une pices jointes winmail.dat et pas le document joint.
Quelqu'un sait il comment envoyer un mail de la même manière mais sans utiliser de logiciel de messagerie ???
Merci par avance.
elendilm
Messages postés21Date d'inscriptionmardi 23 juillet 2002StatutMembreDernière intervention14 août 2002 14 août 2002 à 10:55
code basique.. tres bien pour apprendre.. mais ne fonctionnera que sous windows 95/98/Me.. et encore. uniquement avec outlook express .
de plus, aucun test de succes d'envoi, pas de recherche sur les differents types d'envoi...
enfin........ c'est 1 bon début!
Msgbox
Messages postés67Date d'inscriptionlundi 1 juillet 2002StatutMembreDernière intervention 1 septembre 2006 1 juil. 2002 à 19:38
Tres bon code 9/10. tu pourrais aussi faire en sorte que ca trouve tous les destinaires dans le carnet d'adresses.
9 mai 2010 à 16:39
23 août 2007 à 16:54
Juste un truc, je viens de m'apercevoir que le code pour formatter le message ne marchait qu'avec MSN hotmail.
Et pas avec Live messenger, outlook express...
Désolé pour l'erreur.
A+
18 mai 2007 à 23:27
Pour ceux que ça interresse, je viens de découvrir une méthode permettant d'envoyer des messages formatés avec ce code.
Voici le code :
mesg est le message formatté à envoyé
et
mesgDepart est le mesage non-formatté
char mesg[31500];
strcpy ( mesg , "<HTML><HEAD>\n<META http-equiv=3DContent-Type content=3D"text/html; =\ncharset=3Diso-8859-1">\n<META content=3D"MSHTML 6.00.6000.16441" name=3DGENERATOR>\n<STYLE></STYLE>\n</HEAD>\n" );
strcat ( mesg , mesgDepart );
strcat ( mesg , "</HTML>" );
Voilà ces 3 à 4 lignes de codes rendent votre texte formatté.
A+
18 mai 2007 à 17:12
j'ai oublier de mettre le morceau de code incriminé,
il provient d'une de mes sources personnelles et est fortement inspiré du code de ENVOYER UN MAIL AVEC PIECE JOINTE (UTILISE MAPI) EN VC++.
Le voilà :
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);
}
18 mai 2007 à 17:08
-----
Comme le dit ma question :
http://www.cppfrance.com/infomsg_PROBLEME-AVEC-MAPISEND-MAIL_944232.aspx
Je ne parvient pas à envoyer un mail avec un expéditeur différent que celui par defaut sur outlook. Si par exemple je met a@b.c, le mail par avec mon adresse de outlook par defaut. Comment faire pour que le message soit bien envoyé avec l'adresse a@b.c?
Je dispose de windows Xp et de Outlook Express 6.
Aidez-moi s'il vous plaît!!!
Merci d'avance et à bientôt.
En tout cas à par ce problème, il s'agit d'une source interressante.
-----
A bientôt.
30 sept. 2005 à 16:32
Est il possible d'envoyer un mail au format HTML avec cette source ?
Est il possible de mettre un accusé de lecture et un accusé de réception sur le mail envoyé pour être notifié de la bonne réception et de la lecture du mail ?
Merci par avance
Greg
14 janv. 2004 à 11:08
Il faut encoder le corps du message en MIME et de l'envoyer via winsock SMTP (cf. ma source "ENVOYER UN MAIL SIMPLE (STMP) EN VC++")
Pour plus d'information sur l'encodage MIME, il suffit d'ouvrir un mail dans outlook express et de regarder son code.
14 janv. 2004 à 08:58
Mais j'ai des petits problèmes : lorsque j'envoies des pièces jointes à des destinataires extérieurs, il recoivent le mail avec une pices jointes winmail.dat et pas le document joint.
Quelqu'un sait il comment envoyer un mail de la même manière mais sans utiliser de logiciel de messagerie ???
Merci par avance.
14 août 2002 à 10:55
de plus, aucun test de succes d'envoi, pas de recherche sur les differents types d'envoi...
enfin........ c'est 1 bon début!
1 juil. 2002 à 19:38