Les mémos

Fermer Tables

Fermer Requêtes

Fermer Formulaires

Fermer Etats

Fermer Modules

Fermer Base

Fermer Automation

Fermer Administration

Fermer Registre

Fermer String

Fermer Email CDO

Fermer Outlook

Fermer Net

Fermer Dates - Heures

Fermer Fichiers

Fermer Références

Fermer Vrac

Je débute...

Fermer La normalisation

Fermer VBA

Attention
Aucun support
par émail !

Utilisez le forum pour les questions/réponses concernant MsAccess et les codes que vous trouverez sur ce site.
Visites

   visiteurs

   visiteurs en ligne

Email CDO - SendMail CDO

SendMail (CDO)

 

Envoi de mails avec pièces jointes depuis VBA sous Win2000/XP, en accédant à la couche MAPI via l'interface CDO (Collaboration Data Objects).

 

Cette méthode doit permettre d'éviter le message de sécurité d'Outlook signalant qu'une application tente d'envoyer un message à notre place.

 

Sub SendMailCDO()

'Déclaration précoce ("Early Binding")

'Cocher la référence à Microsoft CDO for Exchange 2000 librairy

' ou Microsoft CDO for Windows 2000 librairy

Dim Message As New cdo.Message

 

With Message

.From = "moi@domaine.net"

.To = "destinataire@domaine.com"

.Subject = "sujet du mail"

.TextBody = "Le corps du message"

.AddAttachment ("c:/cheminfichier.ext")

.GetStream.SaveToFile "C:/MonMail.txt", adSaveCreateOverWrite

.Send

End With

 

Set Message = Nothing

End Sub

 


 

On peut s'affranchir de référencer la bibliothèque avec la syntaxe suivante :

 

Sub SendMailCDO()

' Déclaration tardive ("Late Binding")

Dim Cdo_Message As Object

Set Cdo_Message = CreateObject("CDO.Message")

 

With Cdo_Message

.To = "destinataire@domaine.fr"

.from = """Emetteur"""

.Subject = "Le Sujet"

.TextBody = "Le Corps du message"

.AddAttachment ("c:/cheminfichier.ext")

.Send

End With

 

Set Cdo_Message = Nothing

End Sub

 


 

Si le serveur smtp par défaut n'est pas reconnu (clients mail non Microsoft), on pourra employer les fonctions ci-dessous.

 

Function SendMailCDO( Sender As String, _
                      Receiver As String, _
                      Subject As String, _
                      BodyText As String, _
                      Optional Cc As String, _
                      Optional Bcc As String)

Dim Cdo_Message As New CDO.Message

Set Cdo_Message.Configuration = GetSMTPServerConfig()

With Cdo_Message

.To = Receiver

.From = Sender

.Subject = Subject

.Cc = Cc

.Bcc = Bcc

.TextBody = BodyText

.send

End With

Set Cdo_Message = Nothing

End Function

 

 

Function GetSMTPServerConfig() As Object

Dim Cdo_Config As New CDO.Configuration

Dim Cdo_Fields As Object

Set Cdo_Fields = Cdo_Config.Fields

With Cdo_Fields

.Item(cdoSendUsingMethod) = cdoSendUsingPort

.Item(cdoSMTPServer) = "smtp.free.fr"

.Item(cdoSMTPServerPort) = 25

.Update

End With

 

Set GetSMTPServerConfig = Cdo_Config

Set Cdo_Config = Nothing

Set Cdo_Fields = Nothing

End Function

 


 

Syntaxe :

 

Call SendMailCDO("emetteur@domaine.fr", "destinataire@domaine.com", "sujet", "corps du message")

 


Date de création : 01/11/2005 : 04:32
Dernière modification : 27/12/2012 : 17:47
Catégorie : Email CDO
Page lue 17080 fois


Imprimer l'article Imprimer l'article

Recherche



Lettre d'information
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
Captcha
Recopier le code :
Au sujet de l'auteur
L'auteur qui fréquente (fréquentait) le forum microsoft.public.fr.access a eu le plaisir d'être nommé MVP Office-Access de janvier 2003 à décembre 2011.

Qui sont les MVP ?

Divers ;-)
Nous contacter

Haut