Attacher une pièce jointe à un formulaire d'envoi de renseignements en code behi

Signaler
-
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
-
Je m'auto-forme à la source, merci pour votre compréhension.

Bonjour,

J'ai un formulaire.aspx en vb.net qui fonctionne très bien et je veux inclure une pièce jointe à l'envoi du message dans un contrôle FileUpload , que j'ai ajouté.
Comment faire pour completer mon code et récupérer la pièce jointe avec le message ?

Voici le code:

Protected Sub boutonEnvoyer_Click(sender As Object, e As System.EventArgs) Handles btnEnvoyer.Click
        Me.Validate()
        If Me.IsValid Then
            Try

                Dim message As New MailMessage("contact@monsite.fr", "contact@mondomaine.fr")
                mm.Subject = "[Mon domaine FR ] Contact"
                mm.Body = "[Renseignements via le formulaire de mon site Web]" _
                   & vbCr & txtObjet.Text _
                       & vbCr  & txtNom.Text.ToUpper _
                       & vbCr  & txtPrenom.Text _
                       & vbCr  & txtCorpsMessage.Text

                 ' Receuil message fini et est  prêt à envoyer

                 'Récuperer le la pièce jointe dans le contrôle FileUpLoad

                Dim flpParcourir As FileUpload 'Comment compléter  cette procédure dim ?

               
              Dim smtp As New SmtpClient
                smtp.Host = "localhost"
                smtp.Send(message)
              
          ' comment attacher le contenu de flpParcourir pour l'inclure à cet endroit de cette procédure Dim
          ' pour l'envoyer avec le message
'

            Catch ex As Exception

                lblErreur.Text = " Erreur: le message n' pas été envoyé !"

            End Try

        End If
       
 End Sub


Merci pour vos réponses

6 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Salut,

si c'est bien la classe que je pense, dans un framework compatible, alors il faut passer par l'attribut Attachements (fiche MSDN)
Je m'auto-forme à la source, merci pour votre compréhension.


Bonsoir

Le code est en C#(non disponible en VB, même sur MSDN), et semble correspondre à ce que je souhaitais.
Je vais essayer de le convertir.

Merci pour votre aide.
Je m'auto-forme à la source, merci pour votre compréhension.

Bonjour, le code que vous proposez intéresse l'envoi d'un document dont le chemin est connu.
Ma question était: comment attacher cette pièce jointe au message, dans un contrôle FileUpload.
Merci de m'avoir aidé et voilà la réponse:


Le code qui manquait :

Dim fileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName)
  Dim myAttachment As New Attachment(FileUpload1.FileContent, fileName)
  myMailMessage.Attachments.Add(myAttachment


et si myMailMessage est l'objet Message
on envoi le message et la pièce attachée comme ceci:

Dim smtp As New SmtpClient
                smtp.Host = "localhost"
                smtp.Send(myMailMessage)


Cordialement
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Salut,

il faut sauvegarder le fichier sur le serveur avant l'envoi du mail, pas le choix.
Je m'auto-forme à la source, merci pour votre compréhension.
------------------------------------------------------------

Non, il n'y a pas nécessité de sauvegarder le fichier sur le - serveur - puisque dans ce cas précis il s'agit d'envoyer un fichier attaché , comme lorqu'on utilise son propre logiciel de messagerie.

Le message et le fichier attaché aboutissent sur le webmail du site en question et non sur le serveur(l'espace physique du site), et qui sont deux entités différentes.

J'ai déjà fait plusieurs essais et les conclusions sont probantes.

Vous vouliez sans doute parler de l'écriture directe d'un fichier attaché sur le serveur - espace disque du site -(Upload) , utilisant également un contrôle FileUpload.Dans ce cas précis , en effet, il faut non seulement sauvegarder , mais indiquer le chemin d'origine, et le chemin de la destination.

Cette dernière procédure (qui n'était pas l'objet de mon message) est différente.
Je la maîtrise convenablement, et si vous le souhaitez , je peux vous l'indiquer en vous livrant le code dans sa totalité.(je n'ai guère le temps de le faire hélas, ce matin!...)

Cordialement.
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Re,

je suis pas sûr de comprendre. Quoi qu'il en soit tu sembles en savoir plus que moi sur le sujet. Bonne continuation.