MAPISession1.SignOn With MAPIMessages1 .MsgIndex = -1 .RecipDisplayName = EMAILDESTINATAIRE ' ici l adresse e-mail du destinataire .MsgSubject = SUJETMAIL ' ici le sujet du mail .MsgNoteText = MESSAGEMAIL ' ici le message du mail .SessionID = MAPISession1.SessionID .Send End With MAPISession1.SignOff
Ce programme est très bien et très simple d'utilisation. Par contre, avec Office XP, une fenêtre apparait au moment du send, indiquant "un programme tente automatiquement d'envoyer des courriers en votre nom. Si cette action est inatendue, il se eput qu'il s'agisse d'un virus. Dans ce cas, choisissez non." 3 boutons sont alors proposés : oui, non, aide.Comment faire pour ne plus faire afficher cette fenêtre qui empêche tout envoi automatique.Merci de votre aide.
Eh les gens est ce qu'il y a moyen de mettre une page html à la place du message
Peut on utiliser MAPI dans un module sans etre obligé de créer un form avec 1 MAPISession et 1 MAPIMessage.exemple :Public Function EnvoiMail(nomDestinataire As String, adresseDestinataire As String, sujetMail As String, texteMail As String) Dim MAPISession1 As MAPISession Dim MAPIMessages1 As MAPIMessages MAPISession1.SignOn
Bonjour,cette source me parait tres bien mais j'ai un probleme avec...j'ai une erreur non specifiee sur le .send ... mais je ne sais pas pourquoi !!!Si quelqu'un peut m'aider ... Merci d'avance.
Bonjour,toujours l'erreur 32002 quand j'essaie d'attacher plusieurs pièces jointes. While i < List1.ListCount .AttachmentIndex = MAPIMessages1.AttachmentCount .AttachmentPathName = List1.List(i) i = i + 1 WendCorrect?????
j'ai trouvé sur le site de Microsoft la solution pour attacher plusieurs pièces jointesSub Main() 'Logon & Sync MAPISession1.SignOn 'Create Message w/Attachments then Send With MAPIMessages1 .SessionID = MAPISession1.SessionID .Compose .MsgSubject = "OCX - Test Message" .RecipDisplayName = "YourRecipientNameHere" .ResolveName 'The value 2 is passed to the Space() function in the 'next line because there are two attachments to add. 'These spaces act as placeholders for the attachments. .MsgNoteText = _ Space(2) & vbCrLf & _ "This message was sent from the MSMAPI32.OCX." & vbCrLf & _ "This message contains 2 attachments." 'Replace the AttachmentPathName values below as applicable... .AttachmentIndex = 0 .AttachmentPosition = 0 .AttachmentPathName = ("c: est1.txt") .AttachmentIndex = 1 .AttachmentPosition = 1 .AttachmentPathName = ("c: est2.txt") .Send End With MAPISession1.SignOff End Subet ca marche
salut encore...J'ai encore cette foutue erreur 32002 quand j'essaie d'envoyer un mail...Mais comment la resoudre mes amis ?
J'ai Trouvé pour l'erreur 32002 lors d'un envoi avec fichier attaché !!le .AttachmentIndex doit etre egal à 0 pour le premier fichieret 1 , 2 ... pour les autres !!!Bonne lecture à tous !
Salut !Comment faire pour demander l'accusé de réception ? ou sinon fonctionne bien
Il est très bien ton code mais il ne résout pas mes affaires : Comment éviter le message d'Outlook : "Une application tente d'accéder à vos paramètres..." ?Ce message m'emmerde (oups pardon) depuis longtemps car je ne voudrais pas permettre aux utilisateurs d'annuler l'envoi. J'aimerai un envoi "silencieux" et qu'il n'aient pas à cliquer 2 fois sur Oui pour que ça marche !Merci
=> pour carpediem : tu vas dans outlook/outils/options/sécurité et tu décoches "m'avertir kan d'autres applcations essayent d'envoyer des messages de ma part"
AU SECOURS !! personne ne connait d'explication à l'erreur 32002 ? et de solution de contournement ?merci de votre aide.salut!
Est-ce qu'il y a quelqu'un qui a réussi a envoyer un mail avec un fichier joint sans obtenir l'erreur 32002?
Pour eviter l'affichage du message d'Outlook : "Une application tente d'accéder à vos paramètres...", mettre true comme paramétre de la méthode Send:MAPIMessage1.send True
Autant pour moi.Pour eviter l'affichage du message d'Outlook : "Une application tente d'accéder à vos paramètres...", c'est pas simple: voir l'articlehttp://support.microsoft.com/default.aspx?scid=kb;FR;290499
Bonjour,J'ai deja envoyé des mails avec le composant Winsock, mais j'aimerais utiliser le Mapi. J'essaye le code au dessus mais des que je passe sur la ligne "MAPISession1.SignOn", il m'ouvre l'assistant de connexion Internet....Est ce que quelqu'un pourrais me dire pourkoi?? et comment virer cette fenetre, de sorte que mon mail soit envoyer de facon "transparente"!!!Merki beaucoup!!
Hello !Moi quand je veux envoyer un mail, Eudora se lance est-ce normal et comment empêcher cela ?Merci d'avance
Un des truc le plus utile que je viens d'apprendre 10/10ceux qui n'on pas mis 10 ne se sont pas aperçu de l'utilité de cette source .
impossible d'envoyer un fichier : bloque sur .ResolveNameerreur 32002 si ya une personne qui voit le probléme !
'Sur une page Form1 placer un contrôle MAPISession1 et un contrôle MAPIMessages1 'Pour envoyer à plusieurs destinataires, et copies conforme, et copies conformes invisiblesSub EcrireEmail()On Error GoTo ErrMail'Déclaration des variablesDim msg$, Objet$, FichierJoint1$, FichierJoint2$Dim DestinataireEmail$, DestinataireEmailCopie$, DestinataireEmailInvisible$'Pour les destinataires, il suffit de boucler sur une lise et d'insérer un "; " entre chaque destinataireDestinataireEmail$ = "coucou1@pouetpouet.com; coucou2@pouetpouet.com; coucou3@pouetpouet.com"DestinataireEmailCopie$ = "copie1@gvl.com; copie2@gvl.com"DestinataireEmailInvisible$ = "copie1.invisible@gvl.com; copie2.invisible@gvl.com"'Eventuel fichier jointFichierJoint1$ = "c:\Fichier1.txt"FichierJoint2$ = "c:\Fichier2.txt"'Objet du messageObjet$ = "Texte de l'objet du mail"'Texte du messagemsg = "Bonjour !" & vbCrLf & vbCrLfmsg = msg & "Un petit coucou depuis Visual Basic !" & vbCrLfmsg = msg & "Voilà le fichier " & FichierJoint$'Lancement de la procédure. Si on ne donne pas de destinataire, le carnet d'adresse est ouvert.Form1.MAPISession1.SignOnWith Form1.MAPIMessages1 Form1.Refresh .MsgIndex = -1 'Permet de choisir un destinataire dans le carnet d'adresses si DestMail$ est vide If DestinataireEmail$ = "" Then Screen.MousePointer = 0 Form1.Refresh Form1.MAPIMessages1.Show Form1.Refresh Screen.MousePointer = 11 DestinataireEmail$ = Form1.MAPIMessages1.RecipAddress If Left(DestinataireEmail$, 5) = "SMTP:" Then DestinataireEmail$ = Right(DestinataireEmail$, Len(DestinataireEmail$) - 5) Form1.Refresh End If 'Accusé de réception .MsgReceiptRequested = True 'Destinataire principal .RecipIndex = 0 .RecipType = mapToList .RecipDisplayName = DestinataireEmail$ 'Adresse e-mail du destinataire principal 'Destinataire en copie conforme .RecipIndex = 1 .RecipType = mapCcList .RecipDisplayName = DestinataireEmailCopie$ 'Adresse e-mail du destinataire Destinataire en copie conforme 'Destinataire en copie conforme invisible .RecipIndex = 2 .RecipType = mapBccList .RecipDisplayName = DestinataireEmailInvisible$ 'Adresse e-mail du destinataire en copie conforme invisible .MsgSubject = Objet$ 'Sujet du mail 'Message avec 2 fichiers joints .MsgNoteText = Space(2) & msg$ 'Space(2) pour 2 fichiers joints, 5 pour 5 fichiers... et le message du mail .AttachmentIndex = 0 .AttachmentPosition = 0 .AttachmentPathName = FichierJoint1$ .AttachmentIndex = 1 .AttachmentPosition = 1 .AttachmentPathName = FichierJoint2$ 'Message sans fichier joint '.MsgNoteText = msg$ 'Message du mail .SessionID = Form1.MAPISession1.SessionID Screen.MousePointer = 0 'Pour éviter le message "un programme tente automatiquement d'envoyer des courriers en votre nom..." 'Mettre Send True .Send TrueEnd WithForm1.MAPISession1.SignOffMsgBox "Envoyé !" & vbCrLf & vbCrLf & "Si votre messagerie n'est pas active, il faut le faire et choisir d'envoyer les messages contenus dans la boîte d'envoi.", vbInformation, "Mail expédié"Exit SubErrMail:Screen.MousePointer = 0Select Case Err Case 32001 MsgBox "Le message n'a pas été envoyé. Processus annulé par l'utilisateur.", vbExclamation, "Message NON envoyé !" Form1.MAPISession1.SignOff Exit Sub Case 32003 MsgBox "Le message n'a pas été envoyé. Echec de la connexion.", vbExclamation, "Message NON envoyé !" Form1.MAPISession1.SignOff Exit Sub Case 32026 MsgBox "Le message n'a pas été envoyé.", vbExclamation, "Message NON envoyé !" fMain.MAPISession1.SignOff Exit Sub Case Else MsgBox "Erreur " & Err & " " & Error Form1.MAPISession1.SignOff Exit SubEnd SelectEnd Sub
ya moyen que la boite denvois que mapi ouvre n'apparaisse pas, en plus jai meme la demande dautorisation de ooutlook qui souvre, moi il aurait falu que rien napparaisse.bonne soirée à tous ;)
il faut mettre devant mapimessage.send la valeur true
hello a tous...J'utilise le controle mapi depuis quelques temps et pour envoyé un mail pas de soucis.Ca se complique quand on vut en envoyé plusieurs a la suite sans fermé le programme, je m'explique...J'envoi 3 mails de suite avec des destinataires différents (et pas le meme nombres a chaque mails)le premier mail possede les destinataires A, B et Cle second mail possede les destinataires Dle troisieme mail possede les destinataires E et Fquand je code ca, pas de soucis particulier mais la réalité en est autrement, dans ma boite outlook j'ai en realité :1er mail avec A, B et C ==> Pas de soucis2em mail avec D, B et C ==> Problème3em mail avec E, F et C ==> ProblèmeOn a essayé de fermé la session puis la reouvrir, de fermé le mapisession et mapimessage, toujours pareil.On a essayé de modifié les propriété recipindex et autres et toujours pareil.Si quelqu'un avait une solution ca serait bien cool. On commence a bien se prendre la tete et les automatisme ne le sont plus vraiment.Ps : ca fais la meme chose avec les pieces jointesMerci d'avance
Apres récupération d'un code pour Mapi d'un autres programmes j'ai visiblement trouvé comment resoudre mon soucis.Il faut utilisé la methode mapimessage.Compose qui vide le tampon de composition et reassigne la valeur -1 a la propriété Msgindex.J'espere que ca pourra servir a d'autres. ;)A bientot
Bonjour : Comment Envoyer un email avec un nom d'expediteur différent(c'est possible avec WinSock) mais, est-il possible avec mapi
bonjourj'ai l'erreur d'execution 48389??? j'ai pourtant copier le code source d'origine et rajouté les 2 contoles. Help
Extra !
ce code tu dois le mettre entre Private Sub Form_Load() et End Sub c'est bien ca? et si oui, il faut mettre quoi entre Private Sub Command1_Click() et End Sub ???désolé, mais je débute, j'ai du mal a apprendre
Comment envoyer au format HTML ? C'est possible ? Merci
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 458 membres 466 nouveaux aujourd'hui 15 439 membres club