Envoyer mail avec serveur smtp et connexion avec login ou pas et avec piece jointe

Soyez le premier à donner votre avis sur cette source.

Vue 23 982 fois - Téléchargée 1 778 fois

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 / Exemple :


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

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

mafieulemouton
Messages postés
24
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 janvier 2010
-
Au fait dans la déclaration de la fonction il manque le type (string par exemple):

public shared function envoi(.........) as string
mafieulemouton
Messages postés
24
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 janvier 2010
-
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")
superjc42
Messages postés
3
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
16 septembre 2009
-
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... ;-)
ab52ab
Messages postés
3
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
25 février 2008
-
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
thepoe
Messages postés
30
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
1 juin 2011
-
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...

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.