Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ENVOYER UN MAIL


Information sur la source

Catégorie :VBA Niveau : Initié Date de création : 05/09/2003 Date de mise à jour : 08/09/2003 16:06:49 Vu / téléchargé: 13 092 / 1 410

Note :
7,33 / 10 - par 3 personnes
7,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

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

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

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de hoeppe le 06/09/2003 03:43:31

son vouloir etre trop dur, l'utilisation cdo a deja ete faite plusieurs fois sur le site et ce de facon plus explicite.Pour une premiere source, c'est sympa mais  Set iMsg = CreateObject("CDO.Message")
impose d'avoir une DLL (sait plus laquelle) exclue des config de base. bon courage et bonne continuation .

signaler à un administrateur
Commentaire de linkinpar236737 le 06/09/2003 10:13:21

un zip avec un exe ca serait bien :-P

signaler à un administrateur
Commentaire de deedje le 08/09/2003 15:39:11

hoeppe ->
je recherche très souvent des codes sur vbfrance, et si je me suis décidé à mettre celui-ci, c'est juste parce qu'il m'a été bien utile et que je me dis que d'autres voudront faire ce même genre de chose. En ce qui concerne la DLL, je n'ai rien rajouté de plus que la librairie décrite à ma config de base. Pour la librairie, je l'ai effectivement signalé.

linkinpar236737 ->
Je ne peux pas mettre d'exe puisque la constante MySrvExch doit de toute façon être changé. Je comprends que ça aurait été plus facile. Désolé.

signaler à un administrateur
Commentaire de hoeppe le 08/09/2003 15:57:44

salut deedje,
si tu pouvais juste signaler le fichier DLL en question s'il te plait ca pourrait aider ceux qui n'ont pas des config dites importantes. j'ai  souvent trouvé des sources sur vbfrance et ailleurs ou les fichiers dll etaient usitées et citée smais  pas le nom de fichier qui correspond:galère.
Perso, je trouve ca sympa de partager ses idées et sources.
merci.

signaler à un administrateur
Commentaire de deedje le 08/09/2003 16:09:13

Voila voila, vous trouverez le fichier CDO.DLL en zip avec le programme.

signaler à un administrateur
Commentaire de mercier le 03/11/2003 16:58:26

comment faire pour arracher les fichiers ?

signaler à un administrateur
Commentaire de psycomel le 29/12/2003 01:33:06

et moi ca marche sans cocher une seule référence.
comment ceal se fait-il ? c'est très intriguant. lol
Sinon pour attacher les fichiers tu peux faire :
.AddAttachment("C:Mes FichiersMon Fichier_2.ext")
dans ton with..

si kkun pouvait trouver une explication logique au fait ke ca ne marche sans rien .... tchoaes

signaler à un administrateur
Commentaire de milkLOLO le 13/02/2004 12:07:51

Merci pour le code , ça marche (avec au minimum W2000 ou outlook2000) en spécifiant le nom du  serveur SMTP
Pour envoyer à plusieurs destinataires, séparer les adresses mail d'une virgule
note : 10/10
RMQ: pour compiler , pas besoin de référencer la dll CDO, mais que cela fonctionne, il faut que cette dll soit présente sur le poste (pour pouvoir créer l'objet CDO)

signaler à un administrateur
Commentaire de ma1tr3g0n20 le 29/09/2004 11:09:10

Bonjour à tous,
google m'envoie ici pour une recherche sur cdo.
je suis sous xp, j'avais l'habitude d'utiliser la bibliothèque cdonts.dll sous 2000 mais malheureusement, cdosys.dll ne renferme pas les memes proprietes et methodes que la version précedente (cdonts).
qqun peut il m'expliquer pourquoi ?

A+

signaler à un administrateur
Commentaire de hoeppe le 29/09/2004 14:17:06

pour mercier : arracher des fichier??? tu as pris de la drogue ou quoi??? pauvres fichiers.. MDR

pour psycomel : verifie ta config : ca vient de là!

pour ma1tr3g0n20 : les refontes de DLL, y en a de temps en temps (rarement, soit) chez crosoft.

@+

signaler à un administrateur
Commentaire de Yoyo2B le 11/05/2005 15:48:13

pas besoin d'ajouter une référence si vous avez outlook, outlook express ou  exchange sur le poste local.

signaler à un administrateur
Commentaire de hoeppe le 11/05/2005 18:02:26

et un troll, un.

"pas besoin d'ajouter une référence si " tu as ecrit.

Le si est, personnellement, de trop.

bon troll quand meme.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.