1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
Option Compare Database
'======cette fonction envoie un mail personalisé (nom et prénom) d'access à un destinataire a
'======extérieure via le serveur smtp
Public Function SendMail(Nomdest As String, Prenomdest As String, AdresseMail As String, Objet As String, Corps As String, Optional NomPj As String, Optional Cc As String, Optional Bcc As String) As Boolean
'========Déclarations===================================================================================
'=======Les objets de configuration du l'objet mail (référence: bibliothèque cdo)=======================
'=====On utilise un boolean pour savoir si l'opération d'envoi est bien parti===========================
'=======le corps reçu en paramètre est modifié, on lui rajoute une entete personalisé avec le nom/prénom
'=======un pied de page pour dire que c'est un mail automatique et les coordonées=======================
'=======Pour que l'application soit facilement portable, pour les pieces jointes en parametre===========
'=======seul le nom du fichier est passé "xxxxx.pdf" et le chemin est reconstruit avec le répertoire====
'========courant de l'application! attention à ne pas utiliser curdir, renvoie pas la valeur exacte=====
Dim objCDO As Object
Dim objMailConfig As Object
Dim mailparti As Boolean
Dim Entetenoreply As String
Dim Piedsnoreply As String
Dim Coordonnees As String
Dim repcourant As String
Set objCDO = CreateObject("CDO.Message")
Set objMailConfig = objCDO.Configuration
On Error GoTo EnvoiMail_Err
'===================Configuration du smtp à utiliser, ici c'est google===================================
objMailConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMailConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
objMailConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
objMailConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
objMailConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objMailConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "user@gmail.com"
objMailConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "pwd"
objMailConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
objMailConfig.Fields.Update
Set objCDO.Configuration = objMailConfig
'==================Construction du corps du message et du chemin piece jointe============================
Entetenoreply = "Bonjour " & Prenomdest & " " & Nomdest & "," & vbNewLine
Piedsnoreply = "Avertissement : Cet e-mail est généré de façon automatique, nous vous remercions de ne pas utiliser ladresse dorigine pour nous contacter, votre message ne pouvant être traité en retour."
coordonees = vbNewLine + "compagnies" + vbNewLine + "Tél " + vbNewLine + "Infomations"
Corps = Entetenoreply + vbNewLine + Corps + vbNewLine + coordonees + vbNewLine + vbNewLine + Piedsnoreply
repcourant = CurrentProject.Path
NomPj = repcourant & "\" & NomPj
'=========================Ajout des paramètres de la fonction, test pour les optionnels===================
'========================avant de les ajouter, gestion des erreurs plus bas===============================
With objCDO
.To = AdresseMail
If Not IsNull(Cc) Then .Cc = Cc
If Not IsNull(Bcc) Then .Bcc = Bcc
.From = "<sender@gmail.com>"
.Subject = Objet
.TextBody = Corps
If NomPj <> "" Then .AddAttachment NomPj
.send
End With
mailparti = True
SendMail = mailparti
'=============================Vidange des objets=======================================================
Set objCDO = Nothing
Set objMailConfig = Nothing
EnvoiMail_End:
Exit Function
EnvoiMail_Err:
mailparti = False
SendMail = mailparti
MsgBox ("Echec de la connexion smtp")
Resume EnvoiMail_End
End Function |
Partager