Envoyer un mail

Description

Juste parce que j'ai cherché ce code, je me dis que d'autres pourrait en avoir besoin.

Le code est pas franchement compliqué. Cependant il faut modifier la constante MySrvExch au tout début pour qu'elle indique le nom de votre serveur de messagerie.

Ce code a été testé sur un evironnement Windows 2000 Advanced Server (technology NT), avec un serveur Exchange. Si vous êtes sur un PC personnel, peut-être qu'en mettant 'localhost' ça marchera, mais il n'y a aucune garantie...

La compilation a été faite avec Microsoft Visal InterDev 6.0. Je crois qu'il faut inclure la bibliothèque Microsoft CDO for Exchange 2000 library. Peut-être qu'une autre de type CDO ferait l'affaire.

Une fois compilé, il suffit de ce mettre en mode console, et de rentrer les infos :
> SendMail <exp.>;<dest.>;<objet>;<message>

Bon courage à tous !!

Source / Exemple :


Attribute VB_Name = "Send"
Option Explicit
Const MySrvExch = "srvexch01"
Dim Expediteur, Destinataire, Objet, Corps As String

Sub Main()
    
    Dim iMsg
    Dim iConf
    Dim Flds
    Const cdoSendUsingPort = 2
    
    Dim MyTab() As String
    
    Dim MyErr As String
On Error GoTo ErrHandler

    MyTab = Split(Command, ";")
    Expediteur = MyTab(0)
    Destinataire = MyTab(1)
    Objet = MyTab(2)
    Corps = MyTab(3)

    'Objet message
    Set iMsg = CreateObject("CDO.Message")

    'Configuration de l'objet
    Set iConf = iMsg.Configuration

    'Mise en place des configurations pour envoi par le port 25
    With iConf.Fields
       .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
       .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = MySrvExch
       .Update
    End With

    'Configuration des champs entrés par l'utilisateur
    With iMsg
       .To = Destinataire
       .From = Expediteur
       .Subject = Objet
       .TextBody = Corps
       .Send
    End With
    Set iMsg = Nothing

    MsgBox ("Message envoyé.")
    End

ErrHandler:
    MyErr = "Erreur dans le message: " & Err.Description
    MsgBox (MyErr)

End Sub

Conclusion :


Sur les conseils de hoeppe, j'ai rajouté en fichiers joint la DLL utilisée.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.