MAPI : envoi en masse de messages

Résolu
cs_Karine71 Messages postés 3 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 18 novembre 2005 - 18 nov. 2005 à 16:53
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 18 nov. 2005 à 21:14
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

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
18 nov. 2005 à 18:07
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
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
18 nov. 2005 à 17:56
Tu codes en quoi aussi ?? VBScript ? VB6 ? VB.NET ?
0
cs_Karine71 Messages postés 3 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 18 novembre 2005
18 nov. 2005 à 17:57
En VB6
0
cs_Karine71 Messages postés 3 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 18 novembre 2005
18 nov. 2005 à 18:18
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
18 nov. 2005 à 21:14
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
0
Rejoignez-nous