MAPI : envoi en masse de messages [Résolu]

Signaler
Messages postés
3
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
18 novembre 2005
-
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
-
Bonjour,

Mon problème : je dois envoyer à partir d'une liste de personnes cochées un mail par personne (le mail est personnalisé pour chacun). Ce qui ne va pas c'est ce p.... de message Outlook "Un programme tente d'envoyer...." où il faut répondre Oui ou Non, message qui se répère autant de fois qu'il y a de mails à envoyer : si la personne en a sélectionné 500, çà ne va pas le faire du tout. C'est apparemment impossible de désactiver l'option de sécurité Outlook qui va bien, en tout cas pas sans un kit à télécharger sur Microsoft, or comme c'est une application multi-utilisateur dans une grosse société j'imagine que çà ne va pas être simple d'utliser ce kit.
J'envisage donc une autre solution du type : composer tous les messages et faire un big "Send" de tout çà en même temps, ainsi le message n'apparaîtrait qu'une seule fois, ce qui serait déjà mieux.
Mais comment coder çà ?

Merci d'avance de votre aide (ca urge un peu)

Karine.

5 réponses

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
26
dommage ! EN VBS, je te trouvais une solution pour envoyer des mails sans ce foutu Outlook de M _ _ _ E.
Je dois avoué que Outlook et moi ca fait deux (en tant que client de messagerie et en tant que client de prog !!). As-tu malgré tout un petit bout de code à nous montrer ?

CR
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
26
Tu codes en quoi aussi ?? VBScript ? VB6 ? VB.NET ?
Messages postés
3
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
18 novembre 2005

En VB6
Messages postés
3
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
18 novembre 2005

Public Function EnvoiMailMAPI() As Boolean
Const MESSAGE_SEND = 3
Const SESSION_SIGNOFF = 2
' this command button is used to start a
' MAPI session, log on the the
' mail service, attach the created check
' summary text file to a new
' message, send the message and then clo
' se the session
' declare local variables here
Dim strUserId As String
Dim strPassword As String
Dim strFileName As String
Dim strFilePath As String
Dim strRet As String

' On modifie l'aspect de la souris pour signifier que l'applicatif est occupé
Screen.MousePointer = vbHourglass

EnvoiMailMAPI = True

On Error GoTo ErrFinEnvoiMsg

strFileName = "" ' this is where you would put any file attachments
strFilePath = App.Path & ""

FrmRelTres.MAPISession1.NewSession = True
FrmRelTres.MAPISession1.DownLoadMail = False
FrmRelTres.MAPISession1.LogonUI = True
FrmRelTres.MAPISession1.UserName = "Utilisateur GFA"
FrmRelTres.MAPISession1.SignOn

'Lecture des Destinataires
If gstrServerName = "CICSP30P" Then
gStrDestina = gAdrMailAgt
gStrCopie = gAdrMailInspCpt
Else
gStrDestina = "xxxxxx"
gStrCopie = "yyyyyy"
End If

FrmRelTres.MAPIMessages1.SessionID = FrmRelTres.MAPISession1.SessionID
FrmRelTres.MAPIMessages1.Compose

'Destinataire : agent'
If Trim(gStrDestina) <> "" Then
FrmRelTres.MAPIMessages1.RecipType = 2
FrmRelTres.MAPIMessages1.RecipIndex = 1
FrmRelTres.MAPIMessages1.RecipDisplayName = gStrDestina
FrmRelTres.MAPIMessages1.RecipAddress = gStrDestina
FrmRelTres.MAPIMessages1.ResolveName
End If

'Copie : inspecteur comptable
If Trim(gStrCopie) <> "" Then
FrmRelTres.MAPIMessages1.RecipType = 1
FrmRelTres.MAPIMessages1.RecipIndex = 0
FrmRelTres.MAPIMessages1.RecipDisplayName = gStrCopie
FrmRelTres.MAPIMessages1.RecipAddress = gStrCopie
FrmRelTres.MAPIMessages1.ResolveName
End If

If Trim(gStrDestina) = "" Then
MsgBox "Aucun destinataire dans SCO pour l'envoi du mail"
Else
FrmRelTres.CrystalReport.DataFiles(0) = LireValeurDansFichierIni("Tresor", "BaseLoc", 255, App.Path & "" & CST_INI_FILE_NAME)
FrmRelTres.CrystalReport.ReportFileName = gstrCrystalFileName
' FrmRelTres.CrystalReport.PrintFileName = LireValeurDansFichierIni("Tempon", "Mail", 255, App.Path & "" & CST_INI_FILE_NAME)
' FrmRelTres.CrystalReport.Destination = crptToFile
' FrmRelTres.CrystalReport.PrintFileType = crptText
' FrmRelTres.CrystalReport.Action = 1
' FrmRelTres.MAPIMessages1.AttachmentPathName = LireValeurDansFichierIni("Tempon", "Mail", 255, App.Path & "" & CST_INI_FILE_NAME)
FrmRelTres.MAPIMessages1.MsgSubject = "Destinataire " + gAdrMailAgt + " Copie " + gAdrMailInspCpt
Load FrmRelanceMail
FrmRelanceMail.JustePourRelances
FrmRelTres.MAPIMessages1.MsgNoteText = FrmRelanceMail.RchTxtMessage.Text
FrmRelanceMail.Hide

' Envoi du message
FrmRelTres.MAPIMessages1.Send
End If

'Fermeture de la session mail
FrmRelTres.MAPISession1.SignOff
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
26
Voici un lien http://www.ilook.fsnet.co.uk/vb/vbmapi.htm ou certaines fonctions semblent en mesure de créer des mail SANS les envoyer immédiatement, et une fonction pour envoyer le tout en un e seule fois ... cela te conviendra peut-être

CR