Problème d'envoi automatique de mail via Send Object
3 réponses
Florent
Bonjour, voici le code que j'utilise pour envoyer des=20
mails group=E9s :=20
Function EnvoiEnNombre()
Dim strSujet As String
Dim strMsg As String
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature
Set cnn =3D CurrentProject.Connection
Set rst =3D New ADODB.Recordset
rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull
([Candidat].[E-mail]);", cnn
'Sujet du message
strSujet =3D "Votre Candidature"
'Envoi d'un e-mail par personne
While Not rst.EOF
'Constitution du message personnalis=E9
strMsg =3D "Bonjour " & rst("Etat Civil") & " " & rst
("Nom") & " " & rst("Pr=E9nom")
=20
'Envoi du message
DoCmd.SendObject acSendNoObject, , , _
rst("E-mail"), , , strSujet, _
strMsg, True
=20
'Candidat suivant
rst.MoveNext
=20
Wend
'Fermeture et lib=E9ration des objets
rst.Close
Set rst =3D Nothing
cnn.Close
Set cnn =3D Nothing
End Function
Je g=E9n=E8re donc automatiquement l'=E9tat civil, le nom et le=20
pr=E9nom d'un candidat, le probl=E8me est que ce syst=E8me=20
plante apr=E8s l'envoi du premier e-mail. Il cause une=20
erreur sur le fichier kernel32.dll (fichier syst=E8me de=20
windows).
Par contre, lorsque je ne g=E9n=E8re n,i l'=E9tat civil, ni le=20
nom, ni le pr=E9nom, alors l'envoi se passe sand probl=E8me.
Pour info, ma messagerie par d=E9faut est outlook et donc le=20
serveur de mail est microsoft exchange.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred M.
Bonjour Florent, Je ne réponds pas directement à ta qstion mais propose plutot une voix de contournement : pourquoi ne pas essayer une automation en pilotant directement Outlook ? Il te suffit d'ajouter la référence DLL qui va bien (Ms Outlook 9.0 object library) et de générer des mails par boucles :
Dim MonMail As MailItem Set myOlApp = CreateObject("Outlook.Application") 'Création du mail Set MonMail = myOlApp.CreateItem(olMailItem) 'Création du destinataire Set MonDest = MonMail.Recipients.Add("Jon Grande") ' Objet du mail MonMail.Subject = "mon sujet" ' Corps du mail MonMail.Body = "coucou"
' Affichage du mail... MonMail.Display ' ... ou alors envoie direct du mail MonMail.Send
Voili voilou.... prend cette solution qui veut :-)
Fred M.
-----Message d'origine----- Bonjour, voici le code que j'utilise pour envoyer des mails groupés :
Function EnvoiEnNombre()
Dim strSujet As String Dim strMsg As String Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature Set cnn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull ([Candidat].[E-mail]);", cnn
'Sujet du message strSujet = "Votre Candidature"
'Envoi d'un e-mail par personne While Not rst.EOF 'Constitution du message personnalisé strMsg = "Bonjour " & rst("Etat Civil") & " " & rst ("Nom") & " " & rst("Prénom")
'Fermeture et libération des objets rst.Close Set rst = Nothing cnn.Close Set cnn = Nothing
End Function
Je génère donc automatiquement l'état civil, le nom et le prénom d'un candidat, le problème est que ce système plante après l'envoi du premier e-mail. Il cause une erreur sur le fichier kernel32.dll (fichier système de windows). Par contre, lorsque je ne génère n,i l'état civil, ni le nom, ni le prénom, alors l'envoi se passe sand problème. Pour info, ma messagerie par défaut est outlook et donc le
serveur de mail est microsoft exchange.
Quelqu'un peut-il m'aider ? .
Bonjour Florent,
Je ne réponds pas directement à ta qstion mais propose
plutot une voix de contournement : pourquoi ne pas essayer
une automation en pilotant directement Outlook ?
Il te suffit d'ajouter la référence DLL qui va bien (Ms
Outlook 9.0 object library) et de générer des mails par
boucles :
Dim MonMail As MailItem
Set myOlApp = CreateObject("Outlook.Application")
'Création du mail
Set MonMail = myOlApp.CreateItem(olMailItem)
'Création du destinataire
Set MonDest = MonMail.Recipients.Add("Jon Grande")
' Objet du mail
MonMail.Subject = "mon sujet"
' Corps du mail
MonMail.Body = "coucou"
' Affichage du mail...
MonMail.Display
' ... ou alors envoie direct du mail
MonMail.Send
Voili voilou.... prend cette solution qui veut :-)
Fred M.
-----Message d'origine-----
Bonjour, voici le code que j'utilise pour envoyer des
mails groupés :
Function EnvoiEnNombre()
Dim strSujet As String
Dim strMsg As String
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull
([Candidat].[E-mail]);", cnn
'Sujet du message
strSujet = "Votre Candidature"
'Envoi d'un e-mail par personne
While Not rst.EOF
'Constitution du message personnalisé
strMsg = "Bonjour " & rst("Etat Civil") & " " & rst
("Nom") & " " & rst("Prénom")
'Fermeture et libération des objets
rst.Close
Set rst = Nothing
cnn.Close
Set cnn = Nothing
End Function
Je génère donc automatiquement l'état civil, le nom et le
prénom d'un candidat, le problème est que ce système
plante après l'envoi du premier e-mail. Il cause une
erreur sur le fichier kernel32.dll (fichier système de
windows).
Par contre, lorsque je ne génère n,i l'état civil, ni le
nom, ni le prénom, alors l'envoi se passe sand problème.
Pour info, ma messagerie par défaut est outlook et donc
le
Bonjour Florent, Je ne réponds pas directement à ta qstion mais propose plutot une voix de contournement : pourquoi ne pas essayer une automation en pilotant directement Outlook ? Il te suffit d'ajouter la référence DLL qui va bien (Ms Outlook 9.0 object library) et de générer des mails par boucles :
Dim MonMail As MailItem Set myOlApp = CreateObject("Outlook.Application") 'Création du mail Set MonMail = myOlApp.CreateItem(olMailItem) 'Création du destinataire Set MonDest = MonMail.Recipients.Add("Jon Grande") ' Objet du mail MonMail.Subject = "mon sujet" ' Corps du mail MonMail.Body = "coucou"
' Affichage du mail... MonMail.Display ' ... ou alors envoie direct du mail MonMail.Send
Voili voilou.... prend cette solution qui veut :-)
Fred M.
-----Message d'origine----- Bonjour, voici le code que j'utilise pour envoyer des mails groupés :
Function EnvoiEnNombre()
Dim strSujet As String Dim strMsg As String Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature Set cnn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull ([Candidat].[E-mail]);", cnn
'Sujet du message strSujet = "Votre Candidature"
'Envoi d'un e-mail par personne While Not rst.EOF 'Constitution du message personnalisé strMsg = "Bonjour " & rst("Etat Civil") & " " & rst ("Nom") & " " & rst("Prénom")
'Fermeture et libération des objets rst.Close Set rst = Nothing cnn.Close Set cnn = Nothing
End Function
Je génère donc automatiquement l'état civil, le nom et le prénom d'un candidat, le problème est que ce système plante après l'envoi du premier e-mail. Il cause une erreur sur le fichier kernel32.dll (fichier système de windows). Par contre, lorsque je ne génère n,i l'état civil, ni le nom, ni le prénom, alors l'envoi se passe sand problème. Pour info, ma messagerie par défaut est outlook et donc le
serveur de mail est microsoft exchange.
Quelqu'un peut-il m'aider ? .
Florent
Bonjour,
Tou d'abord je te remercie de m'avoir répondu, maintenant je vais t'expliquer le problème en profondeur.
Passer par outlook a été, en fait, ma première idée. Le problème, est qu'il n'a jamais voulu me créer le destinataire (pourtant ma syntaxe est la même que la tienne). A chaque le débugger m'envoyer sur la syntaxe de création du destinataire. Lorsque je la mettais en commentaire, la fonction marchant sans pb. Mais sans destinataire on va pas loin. Et j'ai bien vérifié que la bibliothèque outlook était sélectionnée.
Donc me voici revenu à la case départ.
Toutefois, merci de m'avoir proposé une solution
-----Message d'origine----- Bonjour Florent, Je ne réponds pas directement à ta qstion mais propose plutot une voix de contournement : pourquoi ne pas essayer
une automation en pilotant directement Outlook ? Il te suffit d'ajouter la référence DLL qui va bien (Ms Outlook 9.0 object library) et de générer des mails par boucles :
Dim MonMail As MailItem Set myOlApp = CreateObject("Outlook.Application") 'Création du mail Set MonMail = myOlApp.CreateItem(olMailItem) 'Création du destinataire Set MonDest = MonMail.Recipients.Add("Jon Grande") ' Objet du mail MonMail.Subject = "mon sujet" ' Corps du mail MonMail.Body = "coucou"
' Affichage du mail... MonMail.Display ' ... ou alors envoie direct du mail MonMail.Send
Voili voilou.... prend cette solution qui veut :-)
Fred M.
-----Message d'origine----- Bonjour, voici le code que j'utilise pour envoyer des mails groupés :
Function EnvoiEnNombre()
Dim strSujet As String Dim strMsg As String Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature Set cnn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull ([Candidat].[E-mail]);", cnn
'Sujet du message strSujet = "Votre Candidature"
'Envoi d'un e-mail par personne While Not rst.EOF 'Constitution du message personnalisé strMsg = "Bonjour " & rst("Etat Civil") & " " & rst ("Nom") & " " & rst("Prénom")
'Fermeture et libération des objets rst.Close Set rst = Nothing cnn.Close Set cnn = Nothing
End Function
Je génère donc automatiquement l'état civil, le nom et le
prénom d'un candidat, le problème est que ce système plante après l'envoi du premier e-mail. Il cause une erreur sur le fichier kernel32.dll (fichier système de windows). Par contre, lorsque je ne génère n,i l'état civil, ni le nom, ni le prénom, alors l'envoi se passe sand problème. Pour info, ma messagerie par défaut est outlook et donc le
serveur de mail est microsoft exchange.
Quelqu'un peut-il m'aider ? .
.
Bonjour,
Tou d'abord je te remercie de m'avoir répondu, maintenant
je vais t'expliquer le problème en profondeur.
Passer par outlook a été, en fait, ma première idée. Le
problème, est qu'il n'a jamais voulu me créer le
destinataire (pourtant ma syntaxe est la même que la
tienne). A chaque le débugger m'envoyer sur la syntaxe de
création du destinataire. Lorsque je la mettais en
commentaire, la fonction marchant sans pb. Mais sans
destinataire on va pas loin. Et j'ai bien vérifié que la
bibliothèque outlook était sélectionnée.
Donc me voici revenu à la case départ.
Toutefois, merci de m'avoir proposé une solution
-----Message d'origine-----
Bonjour Florent,
Je ne réponds pas directement à ta qstion mais propose
plutot une voix de contournement : pourquoi ne pas
essayer
une automation en pilotant directement Outlook ?
Il te suffit d'ajouter la référence DLL qui va bien (Ms
Outlook 9.0 object library) et de générer des mails par
boucles :
Dim MonMail As MailItem
Set myOlApp = CreateObject("Outlook.Application")
'Création du mail
Set MonMail = myOlApp.CreateItem(olMailItem)
'Création du destinataire
Set MonDest = MonMail.Recipients.Add("Jon Grande")
' Objet du mail
MonMail.Subject = "mon sujet"
' Corps du mail
MonMail.Body = "coucou"
' Affichage du mail...
MonMail.Display
' ... ou alors envoie direct du mail
MonMail.Send
Voili voilou.... prend cette solution qui veut :-)
Fred M.
-----Message d'origine-----
Bonjour, voici le code que j'utilise pour envoyer des
mails groupés :
Function EnvoiEnNombre()
Dim strSujet As String
Dim strMsg As String
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull
([Candidat].[E-mail]);", cnn
'Sujet du message
strSujet = "Votre Candidature"
'Envoi d'un e-mail par personne
While Not rst.EOF
'Constitution du message personnalisé
strMsg = "Bonjour " & rst("Etat Civil") & " " & rst
("Nom") & " " & rst("Prénom")
'Fermeture et libération des objets
rst.Close
Set rst = Nothing
cnn.Close
Set cnn = Nothing
End Function
Je génère donc automatiquement l'état civil, le nom et
le
prénom d'un candidat, le problème est que ce système
plante après l'envoi du premier e-mail. Il cause une
erreur sur le fichier kernel32.dll (fichier système de
windows).
Par contre, lorsque je ne génère n,i l'état civil, ni le
nom, ni le prénom, alors l'envoi se passe sand problème.
Pour info, ma messagerie par défaut est outlook et donc
le
Tou d'abord je te remercie de m'avoir répondu, maintenant je vais t'expliquer le problème en profondeur.
Passer par outlook a été, en fait, ma première idée. Le problème, est qu'il n'a jamais voulu me créer le destinataire (pourtant ma syntaxe est la même que la tienne). A chaque le débugger m'envoyer sur la syntaxe de création du destinataire. Lorsque je la mettais en commentaire, la fonction marchant sans pb. Mais sans destinataire on va pas loin. Et j'ai bien vérifié que la bibliothèque outlook était sélectionnée.
Donc me voici revenu à la case départ.
Toutefois, merci de m'avoir proposé une solution
-----Message d'origine----- Bonjour Florent, Je ne réponds pas directement à ta qstion mais propose plutot une voix de contournement : pourquoi ne pas essayer
une automation en pilotant directement Outlook ? Il te suffit d'ajouter la référence DLL qui va bien (Ms Outlook 9.0 object library) et de générer des mails par boucles :
Dim MonMail As MailItem Set myOlApp = CreateObject("Outlook.Application") 'Création du mail Set MonMail = myOlApp.CreateItem(olMailItem) 'Création du destinataire Set MonDest = MonMail.Recipients.Add("Jon Grande") ' Objet du mail MonMail.Subject = "mon sujet" ' Corps du mail MonMail.Body = "coucou"
' Affichage du mail... MonMail.Display ' ... ou alors envoie direct du mail MonMail.Send
Voili voilou.... prend cette solution qui veut :-)
Fred M.
-----Message d'origine----- Bonjour, voici le code que j'utilise pour envoyer des mails groupés :
Function EnvoiEnNombre()
Dim strSujet As String Dim strMsg As String Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature Set cnn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull ([Candidat].[E-mail]);", cnn
'Sujet du message strSujet = "Votre Candidature"
'Envoi d'un e-mail par personne While Not rst.EOF 'Constitution du message personnalisé strMsg = "Bonjour " & rst("Etat Civil") & " " & rst ("Nom") & " " & rst("Prénom")
'Fermeture et libération des objets rst.Close Set rst = Nothing cnn.Close Set cnn = Nothing
End Function
Je génère donc automatiquement l'état civil, le nom et le
prénom d'un candidat, le problème est que ce système plante après l'envoi du premier e-mail. Il cause une erreur sur le fichier kernel32.dll (fichier système de windows). Par contre, lorsque je ne génère n,i l'état civil, ni le nom, ni le prénom, alors l'envoi se passe sand problème. Pour info, ma messagerie par défaut est outlook et donc le
serveur de mail est microsoft exchange.
Quelqu'un peut-il m'aider ? .
.
Fred M.
Re. arf, si c'est MonMail.Recipients.Add("Jon Grande") ne fonctionne pas sur ta machine alors là je ne vois vraiment pas quoi faire :-( désolé. si ce n'est utiliser la proc. stockée étendue XpSendMail de SQL server mais faut-il encore l'avoir...
Cela étant dit, une erreur du Kernel32 n'est jamais de très bonne augure pour l'ensemble du système... Encore désolé de sécher ici. Bon courage.
-----Message d'origine----- Bonjour,
Tou d'abord je te remercie de m'avoir répondu, maintenant je vais t'expliquer le problème en profondeur.
Passer par outlook a été, en fait, ma première idée. Le problème, est qu'il n'a jamais voulu me créer le destinataire (pourtant ma syntaxe est la même que la tienne). A chaque le débugger m'envoyer sur la syntaxe de création du destinataire. Lorsque je la mettais en commentaire, la fonction marchant sans pb. Mais sans destinataire on va pas loin. Et j'ai bien vérifié que la bibliothèque outlook était sélectionnée.
Donc me voici revenu à la case départ.
Toutefois, merci de m'avoir proposé une solution
-----Message d'origine----- Bonjour Florent, Je ne réponds pas directement à ta qstion mais propose plutot une voix de contournement : pourquoi ne pas essayer
une automation en pilotant directement Outlook ? Il te suffit d'ajouter la référence DLL qui va bien (Ms Outlook 9.0 object library) et de générer des mails par boucles :
Dim MonMail As MailItem Set myOlApp = CreateObject("Outlook.Application") 'Création du mail Set MonMail = myOlApp.CreateItem(olMailItem) 'Création du destinataire Set MonDest = MonMail.Recipients.Add("Jon Grande") ' Objet du mail MonMail.Subject = "mon sujet" ' Corps du mail MonMail.Body = "coucou"
' Affichage du mail... MonMail.Display ' ... ou alors envoie direct du mail MonMail.Send
Voili voilou.... prend cette solution qui veut :-)
Fred M.
-----Message d'origine----- Bonjour, voici le code que j'utilise pour envoyer des mails groupés :
Function EnvoiEnNombre()
Dim strSujet As String Dim strMsg As String Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature Set cnn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull ([Candidat].[E-mail]);", cnn
'Sujet du message strSujet = "Votre Candidature"
'Envoi d'un e-mail par personne While Not rst.EOF 'Constitution du message personnalisé strMsg = "Bonjour " & rst("Etat Civil") & " " & rst ("Nom") & " " & rst("Prénom")
'Fermeture et libération des objets rst.Close Set rst = Nothing cnn.Close Set cnn = Nothing
End Function
Je génère donc automatiquement l'état civil, le nom et le
prénom d'un candidat, le problème est que ce système plante après l'envoi du premier e-mail. Il cause une erreur sur le fichier kernel32.dll (fichier système de windows). Par contre, lorsque je ne génère n,i l'état civil, ni le
nom, ni le prénom, alors l'envoi se passe sand problème. Pour info, ma messagerie par défaut est outlook et donc le
serveur de mail est microsoft exchange.
Quelqu'un peut-il m'aider ? .
.
.
Re.
arf, si c'est MonMail.Recipients.Add("Jon Grande") ne
fonctionne pas sur ta machine alors là je ne vois vraiment
pas quoi faire :-( désolé.
si ce n'est utiliser la proc. stockée étendue XpSendMail
de SQL server mais faut-il encore l'avoir...
Cela étant dit, une erreur du Kernel32 n'est jamais de
très bonne augure pour l'ensemble du système...
Encore désolé de sécher ici.
Bon courage.
-----Message d'origine-----
Bonjour,
Tou d'abord je te remercie de m'avoir répondu, maintenant
je vais t'expliquer le problème en profondeur.
Passer par outlook a été, en fait, ma première idée. Le
problème, est qu'il n'a jamais voulu me créer le
destinataire (pourtant ma syntaxe est la même que la
tienne). A chaque le débugger m'envoyer sur la syntaxe de
création du destinataire. Lorsque je la mettais en
commentaire, la fonction marchant sans pb. Mais sans
destinataire on va pas loin. Et j'ai bien vérifié que la
bibliothèque outlook était sélectionnée.
Donc me voici revenu à la case départ.
Toutefois, merci de m'avoir proposé une solution
-----Message d'origine-----
Bonjour Florent,
Je ne réponds pas directement à ta qstion mais propose
plutot une voix de contournement : pourquoi ne pas
essayer
une automation en pilotant directement Outlook ?
Il te suffit d'ajouter la référence DLL qui va bien (Ms
Outlook 9.0 object library) et de générer des mails par
boucles :
Dim MonMail As MailItem
Set myOlApp = CreateObject("Outlook.Application")
'Création du mail
Set MonMail = myOlApp.CreateItem(olMailItem)
'Création du destinataire
Set MonDest = MonMail.Recipients.Add("Jon Grande")
' Objet du mail
MonMail.Subject = "mon sujet"
' Corps du mail
MonMail.Body = "coucou"
' Affichage du mail...
MonMail.Display
' ... ou alors envoie direct du mail
MonMail.Send
Voili voilou.... prend cette solution qui veut :-)
Fred M.
-----Message d'origine-----
Bonjour, voici le code que j'utilise pour envoyer des
mails groupés :
Function EnvoiEnNombre()
Dim strSujet As String
Dim strMsg As String
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull
([Candidat].[E-mail]);", cnn
'Sujet du message
strSujet = "Votre Candidature"
'Envoi d'un e-mail par personne
While Not rst.EOF
'Constitution du message personnalisé
strMsg = "Bonjour " & rst("Etat Civil") & " " & rst
("Nom") & " " & rst("Prénom")
'Fermeture et libération des objets
rst.Close
Set rst = Nothing
cnn.Close
Set cnn = Nothing
End Function
Je génère donc automatiquement l'état civil, le nom et
le
prénom d'un candidat, le problème est que ce système
plante après l'envoi du premier e-mail. Il cause une
erreur sur le fichier kernel32.dll (fichier système de
windows).
Par contre, lorsque je ne génère n,i l'état civil, ni
le
nom, ni le prénom, alors l'envoi se passe sand problème.
Pour info, ma messagerie par défaut est outlook et donc
le
Re. arf, si c'est MonMail.Recipients.Add("Jon Grande") ne fonctionne pas sur ta machine alors là je ne vois vraiment pas quoi faire :-( désolé. si ce n'est utiliser la proc. stockée étendue XpSendMail de SQL server mais faut-il encore l'avoir...
Cela étant dit, une erreur du Kernel32 n'est jamais de très bonne augure pour l'ensemble du système... Encore désolé de sécher ici. Bon courage.
-----Message d'origine----- Bonjour,
Tou d'abord je te remercie de m'avoir répondu, maintenant je vais t'expliquer le problème en profondeur.
Passer par outlook a été, en fait, ma première idée. Le problème, est qu'il n'a jamais voulu me créer le destinataire (pourtant ma syntaxe est la même que la tienne). A chaque le débugger m'envoyer sur la syntaxe de création du destinataire. Lorsque je la mettais en commentaire, la fonction marchant sans pb. Mais sans destinataire on va pas loin. Et j'ai bien vérifié que la bibliothèque outlook était sélectionnée.
Donc me voici revenu à la case départ.
Toutefois, merci de m'avoir proposé une solution
-----Message d'origine----- Bonjour Florent, Je ne réponds pas directement à ta qstion mais propose plutot une voix de contournement : pourquoi ne pas essayer
une automation en pilotant directement Outlook ? Il te suffit d'ajouter la référence DLL qui va bien (Ms Outlook 9.0 object library) et de générer des mails par boucles :
Dim MonMail As MailItem Set myOlApp = CreateObject("Outlook.Application") 'Création du mail Set MonMail = myOlApp.CreateItem(olMailItem) 'Création du destinataire Set MonDest = MonMail.Recipients.Add("Jon Grande") ' Objet du mail MonMail.Subject = "mon sujet" ' Corps du mail MonMail.Body = "coucou"
' Affichage du mail... MonMail.Display ' ... ou alors envoie direct du mail MonMail.Send
Voili voilou.... prend cette solution qui veut :-)
Fred M.
-----Message d'origine----- Bonjour, voici le code que j'utilise pour envoyer des mails groupés :
Function EnvoiEnNombre()
Dim strSujet As String Dim strMsg As String Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset
' Ouverture des tables Candidat et Candidature Set cnn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "SELECT * FROM [Candidat] WHERE NOT IsNull ([Candidat].[E-mail]);", cnn
'Sujet du message strSujet = "Votre Candidature"
'Envoi d'un e-mail par personne While Not rst.EOF 'Constitution du message personnalisé strMsg = "Bonjour " & rst("Etat Civil") & " " & rst ("Nom") & " " & rst("Prénom")
'Fermeture et libération des objets rst.Close Set rst = Nothing cnn.Close Set cnn = Nothing
End Function
Je génère donc automatiquement l'état civil, le nom et le
prénom d'un candidat, le problème est que ce système plante après l'envoi du premier e-mail. Il cause une erreur sur le fichier kernel32.dll (fichier système de windows). Par contre, lorsque je ne génère n,i l'état civil, ni le
nom, ni le prénom, alors l'envoi se passe sand problème. Pour info, ma messagerie par défaut est outlook et donc le