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.
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.