begin process at 2012 02 12 23:36:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > ENVOYER MAIL AVEC SERVEUR SMTP ET CONNEXION AVEC LOGIN OU PAS ET AVEC PIECE JOINTE

ENVOYER MAIL AVEC SERVEUR SMTP ET CONNEXION AVEC LOGIN OU PAS ET AVEC PIECE JOINTE


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Source .NET ( DotNet ) Classé sous :envoi, mail, piece, jointe Niveau :Débutant Date de création :21/11/2006 Date de mise à jour :14/08/2007 08:37:22 Vu / téléchargé :21 921 / 1 634

Auteur : thepoe

Ecrire un message privé
Commentaire sur cette source (31)
Ajouter un commentaire et/ou une note

 Description

.net v2 uniquement

Voici un Classe Sympa, qui est tres pratique à utiliser, et voici comment :

'Sans login
traknoMail.Envoi("serveur SMTP", "De@domain.com", "A@domain.com", _
                 "La Classe vb d'envoi mail avec piece jointe", _
                 "Justement, "je l'utilise, là", "C:\traknoMail.vb", "", "", False)
'Avec login
traknoMail.Envoi("serveur SMTP", "De@domain.com", "A@domain.com", _
                 "La Classe vb d'envoi mail avec piece jointe", _
                 "Justement, "je l'utilise, là", "C:\traknoMail.vb", "login", "mot de passe", True)

Mais Surtout, Merci de NE PAS utiliser ceci pour Faire du Spam

Source

  • Public Class traknoMail
  • Shared Function Envoi(ByVal server As String, ByVal De As String, ByVal A As String, _
  • ByVal Sujet As String, ByVal Corps As String, ByVal Fichier As String, _
  • ByVal Utilisateur As String, ByVal MotDePasse As String, ByVal avecLogin As Boolean)
  • 'On essaye, tres pratique en vb
  • Try
  • 'Creer un Message par surcharge avec De et A
  • Dim message As Net.Mail.MailMessage = New Net.Mail.MailMessage( _
  • New Net.Mail.MailAddress(De), _
  • New Net.Mail.MailAddress(A))
  • 'Definir Sujet et Corps
  • message.Subject = Sujet
  • message.Body = Corps
  • 'Creer la piece jointe
  • Dim data As Net.Mail.Attachment = New Net.Mail.Attachment(Fichier)
  • 'Ajouter le Time Stamp du fichier
  • Dim disposition As Net.Mime.ContentDisposition = data.ContentDisposition
  • ' 'Date de Création
  • disposition.CreationDate = System.IO.File.GetCreationTime(Fichier)
  • ' 'Date de Dernière Modification
  • disposition.ModificationDate = System.IO.File.GetLastWriteTime(Fichier)
  • ' 'Date de Dernièr Accès
  • disposition.ReadDate = System.IO.File.GetLastAccessTime(Fichier)
  • 'Ajoute la piece jointe au message
  • message.Attachments.Add(data)
  • 'Ouvrir la Connexion vers le serveur SMTP
  • Dim client As Net.Mail.SmtpClient = New Net.Mail.SmtpClient(server)
  • 'Avec Login, soit...
  • If avecLogin = True Then client.Credentials = New System.Net.NetworkCredential(Utilisateur, MotDePasse)
  • 'On Envoie le Message
  • client.Send(message)
  • 'On Retourne Vrai comme résultat de la Fonction
  • Return True
  • 'Oh non !!! , une erreur...
  • Catch ex As Exception
  • 'On Retourne le message d'erreur comme résultat de la Fonction
  • Return ex.Message
  • 'On a Fini d'essayer
  • End Try
  • End Function
  • End Class
Public Class traknoMail
    Shared Function Envoi(ByVal server As String, ByVal De As String, ByVal A As String, _
                          ByVal Sujet As String, ByVal Corps As String, ByVal Fichier As String, _
                          ByVal Utilisateur As String, ByVal MotDePasse As String, ByVal avecLogin As Boolean)
        'On essaye, tres pratique en vb
        Try
            'Creer un Message par surcharge avec De et A
            Dim message As Net.Mail.MailMessage = New Net.Mail.MailMessage( _
                    New Net.Mail.MailAddress(De), _
                    New Net.Mail.MailAddress(A))
            'Definir Sujet et Corps
            message.Subject = Sujet
            message.Body = Corps
            'Creer la piece jointe
            Dim data As Net.Mail.Attachment = New Net.Mail.Attachment(Fichier)
            'Ajouter le Time Stamp du fichier
            Dim disposition As Net.Mime.ContentDisposition = data.ContentDisposition
            '   'Date de Création
            disposition.CreationDate = System.IO.File.GetCreationTime(Fichier)
            '   'Date de Dernière Modification
            disposition.ModificationDate = System.IO.File.GetLastWriteTime(Fichier)
            '   'Date de Dernièr Accès
            disposition.ReadDate = System.IO.File.GetLastAccessTime(Fichier)
            'Ajoute la piece jointe au message
            message.Attachments.Add(data)
            'Ouvrir la Connexion vers le serveur SMTP
            Dim client As Net.Mail.SmtpClient = New Net.Mail.SmtpClient(server)
            'Avec Login, soit... 
            If avecLogin = True Then client.Credentials = New System.Net.NetworkCredential(Utilisateur, MotDePasse)
            'On Envoie le Message
            client.Send(message)
            'On Retourne Vrai comme résultat de la Fonction
            Return True
            'Oh non !!! , une erreur...
        Catch ex As Exception
            'On Retourne le message d'erreur comme résultat de la Fonction
            Return ex.Message
            'On a Fini d'essayer
        End Try
    End Function
End Class


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

14 août 2007 08:37:22 :
Ajout de l'information ".net v2"

 Sources du même auteur

Source .NET (Dotnet) LISTER LES ADRESSES MAC

 Sources de la même categorie

Source avec Zip Source avec une capture GESTIONNAIRE DE TÉLÉCHARGEMENT, AVEC REPRISE ET MULTITHREADI... par Madx23
Source avec Zip Source avec une capture CONVERTIR DU TEXTE RTF EN CODE HTML ET VICE-VERSA par vicosta
Source avec Zip Source avec une capture DICTIONAIRE TEXT/AUDIO/VISUELLE ANGLAIS AVEC WEBBROWSER CONT... par majnounmajda
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI... par ShareVB
Source avec Zip Source avec une capture MINI SEVEUR HTTP AVEC INTERFACE GRAPHIQUE ET IMPLÉMENTATIONS... par lemout

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SMTP : PROJET COMPLET D'ENVOI DE COURRIEL, SANS UTILISATION ... par fkuchta
SCRIPT VBS D'ENVOI DE MAIL EN LIGNE DE COMMANDE par djebbipgm
Source avec Zip Source avec une capture GESTION DE NEWSLETTER (PLUGIN OUTLOOK) par freddybesac
Source avec Zip ENVOI D'UN COURRIEL PAR SMTP par bb85
Source avec Zip Source avec une capture Source .NET (Dotnet) MESSAGERIE ELECTRONIQUE VB.NET 2005 par le5ejumeau

Commentaires et avis

Commentaire de OneHacker le 22/11/2006 17:17:25

IL y a des erreurs dans fichier, déjà c'est pas le NameSpace Net mais qu'il faut utiliser et il faut obligatoirement ajouter la référence à System.Web !

Commentaire de OneHacker le 22/11/2006 17:22:31

Voici la correction :

Public Class traknoMail
    Shared Function Envoi(ByVal server As String, ByVal De As String, ByVal A As String, ByVal Sujet As String, ByVal Corps As String, ByVal Fichier As String, ByVal Utilisateur As String, ByVal MotDePasse As String, ByVal avecLogin As Boolean)
        'On essaye, tres pratique en vb
        Try
            'Creer un Message par surcharge avec De et A
            Dim message As New Web.Mail.MailMessage
            message.From = De
            message.To = A

            'Definir Sujet et Corps
            message.Subject = Sujet
            message.Body = Corps
            'Creer la piece jointe
            Dim data As Web.Mail.MailAttachment = New Web.Mail.MailAttachment(Fichier)
            'Ajouter le Time Stamp du fichier

            'Ajoute la piece jointe au message
            message.Attachments.Add(data)
            'Ouvrir la Connexion vers le serveur SMTP
            Web.Mail.SmtpMail.SmtpServer = "mail.hotmail.com"
            Web.Mail.SmtpMail.Send(message)
            'On Retourne Vrai comme résultat de la Fonction
            Return True
            'Oh non !!! , une erreur...
        Catch ex As Exception
            'On Retourne le message d'erreur comme résultat de la Fonction
            Return ex.Message
            'On a Fini d'essayer
        End Try
    End Function
End Class

Commentaire de obinfo le 30/11/2006 11:37:18

Non c'est pas une erreur bien au contraire le namespace web.mail est obsolète en version Net 2.0

Merci beaucoup pour ce source très rare en net 2.0

Commentaire de OneHacker le 01/12/2006 18:55:03

Ah ok c'est du .NET 2. Croyais que c'était du .Net 1.1 désolé.

Commentaire de renocmoa le 22/12/2006 19:10:23

Bonsoir, Je voudrais faire un petit soft pour envoyer des mails groupés et personalisé (pas du spam juste contact adhérent assos!)

Si quelqu'un peut m'en dire plus sur comment envoyer et gérer une éventuelle liste d'attente pour éviter embouteillage...

Merci

Commentaire de OneHacker le 30/12/2006 19:35:46

En VB.Net 1 ?

Commentaire de renocmoa le 02/01/2007 12:45:48

non en vb.net 2 j'ai trouvé quelque truc mais pas trés simple... si une idée

envoi d'une centaine de mails personalisés
merci

Commentaire de OneHacker le 04/01/2007 11:44:42

Tu veux dire un MailBomber ? Moi j'en ai fait un pas mal.

Commentaire de renocmoa le 13/01/2007 12:48:29

le nom de mailbomber ou mailling parle effectivement du même genre de soft seule l'utilisation différe lol ;-)

efféctivement je recherche à faire un soft permetant (via une base access) d'envoyer en une seule opération x mail..

merci

Commentaire de OneHacker le 16/01/2007 17:30:11

Un xmail via une base acess ? Tu veux dire que chaque champ de la base correspond aux champs et headers du mail ?

Commentaire de renocmoa le 24/01/2007 20:52:54

non tout simplement une base client dont un champs est le mail et je remplace par exemple <prenom> dans le corps du message par le prenom qui corespond jusque là pas de pb c'est pour l'envoi que je coince comment expédier tout ça en tache de fond sans que ça coince et évidement récupérer l'état des envois...

Commentaire de OneHacker le 31/01/2007 14:53:34

Ah je vois c'est plutôt quelquechose qui ressemble à du spam que tu veux faire, pas besoin de BDD tu le fais juste avec un fichier texte. Et ton programme doit voir selon le mail mettre le nom à la place de <nom> par ex c'est que du texte qui faut manipuler en fait.

Commentaire de renocmoa le 03/02/2007 12:59:31

oui tout à fait sauf que les info arrive depuis une bd mais peu importe par contre c'est pas du spam mais de la vrai info je cherche juste àenvoyer un nombre x de mail en une manip... Tu sais faire en vb.net 2?

merci

Commentaire de OneHacker le 03/02/2007 13:46:55

Non désolé je programme que en VB.Net 2003.

Commentaire de renocmoa le 17/02/2007 11:47:01

dis moi quand meme je convertirais...

Commentaire de pinok12 le 02/06/2007 20:40:49

Très bien ce code, par contre, pour passer par certains serveurs SMTP du type GMAIL il faut mettre clien.EnableSSL = true juste après client.Credentials = New System.Net.NetworkCredential(Utilisateur, MotDePasse)

Commentaire de OneHacker le 02/06/2007 21:14:52

Maintenant je programme en VB.Net 2005 ^^

Commentaire de thepoe le 14/08/2007 08:27:18

Merci PINOK12 pour l'astuce de gmail.
Encore désolé pour la confusion de VB.net 1.1 et 2. C'est bien du .net v2 edité avec la VB 2005 Express. Si NIX passe par la peut-être germera l'idée de les différencier quand on post une source.
RENOCMOA tu fait une boucle qui utilise cette fonction pour en envoyer plusieur, mais ca ne sera jamais du simultané, juste du schédulé...

Commentaire de OneHacker le 14/08/2007 18:14:41

Euh ca te dit que je te fasse le prog avec BDD ?

Commentaire de renocmoa le 24/08/2007 11:37:56

merci à thepoe

schédulé ??

j'ai fait une boucle mais il semblerait qu'il y est un fonctionnement aléatoire et tous les mails ne partent pas...
pb FAI, autre.... une idée?

merci

Commentaire de OneHacker le 27/08/2007 22:19:56

Alors ?

Commentaire de renocmoa le 31/08/2007 09:54:39

ben ils ne partent pas tous sans savoir pourquoi?

schédulé c'est quoi ?

Commentaire de OneHacker le 31/08/2007 23:50:15

Alors renocmoa tu m'a toujours pas répondu pour savoir si je te fait un envoi mail avec BDD.

Commentaire de renocmoa le 03/09/2007 20:51:43

onehacker, piocher dans ma BDD n'est pas un pb mon seul soucis et de faire un envoi de mail à un nombre variable de déstinataire (de quelque un à environ 200)

J'aimerais une boucle qui envoi le même mail à chaque dest et me donne l'état d'avencement le tout dans un thread séparé

merci

Commentaire de OneHacker le 03/09/2007 20:53:13

je l'ai fait, moi perso mon MailBomber fait ça et bientot BDD.
Le problème c'est que sur ce site on a pas le droit de poster de MailBomber.

Commentaire de BLU le 24/10/2007 10:16:32

Bonjour,

le serveur SMTP de ma boite n'est pas configueré avec le port 25 en standard.
J'ai essayer de modifier ton code avec :
            Dim client As Net.Mail.SmtpClient = New Net.Mail.SmtpClient(SMTPServerName)
            client.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network
            client.Port = "XXX"

Mais cela ne passe pas
=> le catch me retourne délai d'attente dépassé ...
As tu une idée ?

Commentaire de thepoe le 24/10/2007 15:13:11

As tu essayé
    Dim client As Net.Mail.SmtpClient = New Net.Mail.SmtpClient(SMTPServerName,XXX)
ou XXX est ton numéro de port plutôt?

Salutations...

Commentaire de ab52ab le 25/02/2008 09:38:03

L'equivalent de votre code en C# me pose un problème avec la classe Net,
j'aimerais savoir la directive using et la référence assembly à ajouter au projet.
J'ai utilisé les directives "using System.Net.mail" et "System.web.mail" en ajoutant aussi la référence System.web mais ça n'a pas marché.
Merci

Commentaire de superjc42 le 11/03/2009 09:42:31 10/10

Moi je met 10/10 !

Sa marche nickel !

Je peut remonter les erreurs de mon service "ServeurModBus" directement par mail !

Merci à toi thepoe, et à ceux qui ont posés les commentaires !

JC... ;-)

Commentaire de mafieulemouton le 08/07/2010 13:26:09 6/10

Pratique et simple... Mais je l'aurais plutot mis sur codyx comme snippet.

Pour une utilisation plus intuitive, vous pouvez utiliser "optional" lors de la déclaration de la fonction pour les variables "utilisateur", "motDePasse" & "avecLogin "

du coup pour l'appel de la fonction sans login on pourrait faire:
traknoMail.Envoi("serveur SMTP", "De@domain.com", "A@domain.com", _
                 "La Classe vb d'envoi mail avec piece jointe", _
                 "Justement, "je l'utilise, là", "C:\traknoMail.vb")

Commentaire de mafieulemouton le 14/07/2010 16:01:32

Au fait dans la déclaration de la fonction il manque le type (string par exemple):

public shared function envoi(.........) as string

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

creer 1 mail avec piece jointe dans boite d'envoi [ par marsufred ] Bonjour,J'aimerais créer (ou trouver, car s'il existe c'est encore mieux) un fichier executable qui prend des parametres sur sa ligne de commande et q ENVOI MAIL AVEC PIECE JOINTE [ par ARTHUGERAS ] Bonjour,J'utilise un MAPI SESSION ET MAPIMESSAGE pour envoyer un mail avec pièces jointes.Sur la plupart des micros aù je l'ai installé, cela fonction Envoi d'un Mail avec piece jointe [ par zmoha40 ] Bonjour tout le monde, Je viens de développer une application de gestion de bâtiment pour un de mes clients en vb6 Le problème c'est que je dois envoy mail avec piece jointe differente par destinataire [ par matthieugha ] Bonjour, Je suis novice en informatique, cependant je sais qu'on peut gagner pas mal de temps avec. Alors j'essaie de m'y mettre. J'ai un soucis. Je d analyse piece jointe [ par YORAN49 ] Bonjour, je sollicite votre aide pour un problème que je rencontre actuellementEn effet, chaque jour pendant la nuit je reçois un mail important que j envoyer une piece jointe avec mon mail par default [ par petiflamand ] Bonjour , je voudrais faire un attachement d'un fichier qui âurra toujours le même nom pouvez-vous me dire command faire svp Pour ouvrir mon mail et pb pour l'envoi d'um mail avec piece jointe [ par bensoleil ] Je n'arrive pas à insérer une pièce jointe dans l'envoi d'un mail automatique à partir d'execl en utilisant outlook expressJ'ai essayé :Shell "C:\Pro envoi mail + pièce jointe [ par scoder ] Bonjour, je suis entrain de réaliser une application dans le but d'envoyer régulièrement un même fichier par mail à un même destinataire. J'ai eu beau Email+piece jointe avec Winsocks sous VBA access2002 [ par french_coff ] Bonjour a toute la communauté française des programmeursJ'ai un probleme qui me prend la tete depuis pas mal de temps deja,je suis sous access et je s


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales