Envoyer un email en vba sans popup de sécurité

La question qui nous intéresse aujourd’hui est comment envoyer un email en vba sans popup de sécurité ?

L’astuce est simple : Ne pas utiliser outlook pour envoyer l’email mais passer directement par un serveur smtp.

Dans la fonction suivante vous verrez également comment rendre le mail au format html et ajouter une pièce jointe.

Public Sub envoie_mail(depuis, destinataire, sujet, Body, fichier)

Dim Objemail
Dim iconf

    Set Objemail = CreateObject("CDO.Message")
    Set iconf = Objemail.Configuration

    With iconf.Fields
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "adresse.du.serveur.smtp"
        .Update
    End With
    
    Objemail.From = depuis
    Objemail.To = destinataire
    Objemail.Subject = sujet
    If Body  "" Then
        Objemail.HTMLBody = Body
    End If
    
    If fichier  "" Then
        Objemail.AddAttachment fichier
    End If
    
    Objemail.Send
    
End Sub