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.aspxLa 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