[VB/access] Envoi de mail en VB

Envoi de mail en VB [VB/access] - VB/VBA/VBS - Programmation

Marsh Posté le 24-07-2007 à 14:28:31    

BOnjour à tous :)
 
Je cherche à envoyer un mail en cliquand sur un bouton dans un formulaire access.
Existe t'il une commande VB pour envoyer un mail du genre mailto en HTML ?
 
merci ;)

Reply

Marsh Posté le 24-07-2007 à 14:28:31   

Reply

Marsh Posté le 24-07-2007 à 14:30:20    

tu peux gérer ca avec un hyperlink (avec .adress avec mailto)

Reply

Marsh Posté le 24-07-2007 à 14:40:45    

Heu j'ai trouvé une fonction :
 
DoCmd.SendObject
 
Ca marche nikel, il m'ouvre bien un mail avec le bon déstinataire mais quand je n'envoi pas le mail ca plante !

Reply

Marsh Posté le 24-07-2007 à 14:46:16    

Il me met une erreur 2501 dès que je ferme le mail sans l'envoyer !
Si j'envoi il plante pas !

Reply

Marsh Posté le 24-07-2007 à 15:47:34    

Bon et bien voilà :D
 
Voici le code pour envoyer un mail au format HTML :
 

Code :
  1. Dim Mail As String
  2.     If IsNull(Me.CON_MAIL) Or Me.CON_MAIL = "" Then
  3.         MsgBox ("Il faut spécifier une adresse mail avant de pouvoir envoyer un mail" )
  4.     Else
  5.         Mail = Me.CON_MAIL
  6.         Dim olApp As Outlook.Application
  7.         Dim objMail As MailItem
  8.         Set olApp = Outlook.Application
  9.         Set objMail = olApp.CreateItem(olMailItem)
  10.         With objMail
  11.            .BodyFormat = olFormatHTML
  12.            .To = Mail
  13.            .Display
  14.         End With
  15.     End If


 
;) @+ pour de nouvelle aventure  :bounce:

Reply

Marsh Posté le 24-07-2007 à 15:56:14    

attention, ton code marche seulement avec outlook (logique) mais pense à ceux qui l'ont (précautionneusement) enlevé de leur machine ^^

Reply

Marsh Posté le 24-07-2007 à 15:57:02    

Heuuuu ...
 
Ils ont tous outlook dans la boite :D

Reply

Marsh Posté le 24-07-2007 à 15:57:26    

oki :jap:

Reply

Marsh Posté le 24-07-2007 à 16:12:24    

et si désactivation des messages d'alerte lors de l'envoi d'un mail
ClickYes       http://www.excelguru.ca/node/44
Redemption   http://www.dimastr.com/redemption/

Reply

Marsh Posté le 24-07-2007 à 16:55:50    

j'ai essayé de désactiver les messages d'alert mais c'est carément un plantage et non un message d'erreur!
 
Mais c'est bon j'y suis arrivé merci :)

Reply

Marsh Posté le 24-07-2007 à 16:55:50   

Reply

Marsh Posté le 18-01-2008 à 01:46:04    

[quotemsg=1590936,5,50004]Bon et bien voilà :D
 
Voici le code pour envoyer un mail au format HTML :
 

Code :
  1. Dim Mail As String
  2.     If IsNull(Me.CON_MAIL) Or Me.CON_MAIL = "" Then
  3.         MsgBox ("Il faut spécifier une adresse mail avant de pouvoir envoyer un mail" )
  4.     Else
  5.         Mail = Me.CON_MAIL
  6.         Dim olApp As Outlook.Application
  7.         Dim objMail As MailItem
  8.         Set olApp = Outlook.Application
  9.         Set objMail = olApp.CreateItem(olMailItem)
  10.         With objMail
  11.            .BodyFormat = olFormatHTML
  12.            .To = Mail
  13.            .Display
  14.         End With
  15.     End If


 
 
Bonjour, J'ai le même souci avec access 2003, j'ai essayé d'adapter ce code sans succès.
J'ai un champ nommé [EnvoiMail] et je souhaitais juste grâce à un double clic ouvrir le prog de mail par défaut du poste utilisé et obtenir l'équivalent du mailto en HTML en utilisant comme destinataire le contenu du champ dans lequel j'effectue le double clic, et accesoirement une valeur fixe pour le CCI du genre 'copiesauvegardemail@monsite.com'
 
Merci si vous pouvez m'apporter une réponse.
 
J'ai essayé également de manipuler la commande DoCmd.SendObject qui a priori serait peut-être aussi la solution, mais peut-être j'ai mal écrit ma commande car je plante.

Reply

Marsh Posté le 18-01-2008 à 09:22:45    

mailto: n'est pas du html mais un protocole.
Donc, il suffit d'utiliser l'API ShellExecute pour lancer un lien mailto et ouvrir par la même occasion la messagerie paramétrée par défaut avec quelques champs renseignés.
Ce protocole reste cependant limité aux champs les plus courants.
 
Déclaration de l'API

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Lancement de la messagerie avec préremplissage de certains champs

ShellExecute 0, "Open", "mailto:toto@bidule.org?subject=Sujet%20du%20courrier&cc=tata@truc.org&bcc=titi@chouette.org&body=Salut", 0, ".", vbNormalFocus

Reply

Marsh Posté le 19-01-2008 à 17:41:11    

Merci beaucoup tegu, je vais essayer d'adapter ceci sur un champ access 2003 sur lequel par double clic je génère la fenêtre d'envoi du programme de mail par défaut, utilisant le contenu du champ comme valeur du destinataire.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed