IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Manipulation d'éléments contenus dans un mail reçu [Débutant]


Sujet :

VB.NET

  1. #1
    Membre éprouvé Avatar de Savak
    Homme Profil pro
    Ingénieur Etude et Développement
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Par défaut Manipulation d'éléments contenus dans un mail reçu
    Bonjour à tous,

    Étant étudiant en informatique en alternance, je cherche à développer une application dans le cadre d'un projet scolaire qui pourrait par la suite être mis en place professionnellement.

    Il s'agit d'un petit programme permettant, via un formulaire, la gestion d'intervention chez nos clients. Je m'explique : nous sommes une boite de prestataire et nos clients passent par le standard téléphonique pour chaque demande d'intervention alors qu'au final, cela ne nécessite aucun intermédiaire entre le client et le technicien.

    Ce micro-soft permettrait donc au client de remplir un formulaire que le tech recevrait directement par mail. Une fois l'intervention effectuée, le technicien remplirait lui aussi une partie du formulaire afin d'avoir un historique des informations effectué chez le client (sauvegarde dans un fichier texte).

    Voilà pour le contexte. Mon problème est le suivant : lorsque je reçois le mail contenant la demande d'intervention, je ne sais pas du tout comment faire pour récupérer les informations contenues dans le message et les injecter dans les "textbox" et autre contrôles. J'ai essayé de trouver la solution avec MSDN, mais rien à faire, je n'ai pas trouvé...

    Voici ma procédure pour l'envoi du mail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub BoutonEnvoiDemande_Click(sender As System.Object, e As System.EventArgs) Handles BoutonEnvoiDemande.Click
     
            Dim mail As New MailMessage()
     
            Dim SmtpServer As New SmtpClient
            Try
                SmtpServer.Credentials = New Net.NetworkCredential("tata.toto@gmail.com", "MotDePasse")
                SmtpServer.Port = 587
                SmtpServer.Host = "smtp.gmail.com"
                SmtpServer.EnableSsl = True
                mail.To.Clear()
                mail.To.Add("tech@semaphors.fr")
                mail.From = New MailAddress("tata.toto@gmail.com", "Entreprise " & NomEntreprise)
                mail.Subject = TextBoxDemandeur.Text + "; " + TextBoxMateriel.Text + "; " + Date.Now
                mail.Body = TextBoxDescription.Text
     
                SmtpServer.Send(mail)
                MsgBox("Demande envoyée avec succès!" & vbCrLf & "Nous traiterons votre requête dans les plus brefs délais possibles.")
            Catch ex As Exception
                MsgBox("Erreur lors de l'envoie." & vbCrLf & "Veuillez prendre contact avec le technicien en charge de l'application à l'adresse suivante : tech@semaphors.fr")
            End Try
    End Sub
    Si c'est possible, j'aimerais bien avoir quelques pistes pour le même genre de procédure, mais qui gèrerait la réception de mail et qui permettrait l'intégration de son contenu dans mes contrôles.

    Merci d'avance à tous !

  2. #2
    Membre chevronné

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Par défaut
    Y'a des logiciels qui font déjà cela très bien. Par exemple Mantis : http://www.mantisbt.org/, qui permet de gérer l'évolution de bugs, mais qui peut servir à tout suivi de projet suivant ses besoins.

    Sinon, pour être honnête je ne comprends pas ce que tu veux dire par "récupérer les informations contenues dans le message et les injecter dans les "textbox" et autre contrôles". Si tu utilises un formulaire pour générer un mail envoyé au technicien, tu as ces infos via le formulaire, non ?
    As-tu prévu d'utiliser une BDD pour stocker les infos ? Sinon, ça me semble un peu "farfelu" d'essayer de récupérer les infos depuis le mail... (mais dans l'absolu, c'est possible... mais farfelu)

  3. #3
    Membre éprouvé Avatar de Savak
    Homme Profil pro
    Ingénieur Etude et Développement
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Par défaut
    Citation Envoyé par plume13 Voir le message
    Y'a des logiciels qui font déjà cela très bien. Par exemple Mantis : http://www.mantisbt.org/, qui permet de gérer l'évolution de bugs, mais qui peut servir à tout suivi de projet suivant ses besoins.
    Le problème n'est pas là.
    "La fin justifie les moyens" : Les moyens m’intéresse plus que la fin...

    Citation Envoyé par plume13 Voir le message
    Sinon, pour être honnête je ne comprends pas ce que tu veux dire par "récupérer les informations contenues dans le message et les injecter dans les "textbox" et autre contrôles". Si tu utilises un formulaire pour générer un mail envoyé au technicien, tu as ces infos via le formulaire, non ?
    As-tu prévu d'utiliser une BDD pour stocker les infos ? Sinon, ça me semble un peu "farfelu" d'essayer de récupérer les infos depuis le mail... (mais dans l'absolu, c'est possible... mais farfelu)
    J'ai du mal m'exprimer, je reprends donc:

    - Le logiciel sera installé chez le client sous cette forme sans les droits d'accès à l'onglet "Cadre réservé à Semaphors" :



    - A l'agence, nous aurons à remplir cet onglet après que l'intervention soit effectué :



    Ce qu'il me manque, c'est l'évènement lié au bouton "Récupération de la demande client". Je ne sais pas du tout comment m'y prendre. Toutes les informations que je veux sont contenu dans le mail que le client m'a envoyer via le premier formulaire. Je veux juste récupérer ces informations pour ne pas avoir à les retaper manuellement. Il faut les réintégrer au logiciel car elles doivent être enregistré dans le fichier de suivi avec le compte rendu de l'intervention.

    Bouton "Clôturer l'intervention" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub BouttonCloturer_Click(sender As System.Object, e As System.EventArgs) Handles BouttonCloturer.Click
            Dim FichierDeSuivi As New StreamWriter("C:\Sources\Suivi intervention " & NomEntreprise & ".txt", True)
            Try
                FichierDeSuivi.WriteLine("Demande d'intervention effectuée le : " & LabelDate.Text)
                FichierDeSuivi.WriteLine("Demandeur : " & TextBoxDemandeur.Text)
                FichierDeSuivi.WriteLine("Matériel/Logiciel concerné : " & TextBoxMateriel.Text)
                FichierDeSuivi.WriteLine("Description de la demande : " & TextBoxDescription.Text)
                FichierDeSuivi.WriteLine("")
                FichierDeSuivi.WriteLine("Solution apportée : " & TextBoxSolution.Text)
                FichierDeSuivi.WriteLine("Type d'intervention : " & ComboBoxTypeInter.ValueMember)
                FichierDeSuivi.WriteLine("Temps passé : " & TextBoxTemps.Text)
                FichierDeSuivi.WriteLine("Date de clôturation de l'information : " & Date.Now)
                FichierDeSuivi.WriteLine("Technicien intervenant : " & TextBoxTechnicien.Text)
                FichierDeSuivi.WriteLine("")
                FichierDeSuivi.WriteLine("-----------------------------------------------------------------------------------")
                FichierDeSuivi.WriteLine("")
                FichierDeSuivi.Close()
                MsgBox("Clôturation effectuée avec succès!" & vbCrLf & "Le fichier de suivi à été correctement rempli.")
            Catch ex As Exception
                MsgBox("Erreur lors de l'écriture du fichier de suivi.")
            End Try
    End Sub
    En ce qui concerne la base de données, cela sera fait à l'avenir. Pour l'instant, comme tu as pu le constater, tout est enregistré dans un fichier texte.

    J'espère avoir été assez clair pour bien que vous voyez ou se situe mon problème.

    N'hésite pas à me le dire Plume si je n'arrive pas à me faire comprendre.

  4. #4
    Membre éclairé Avatar de Khalyss
    Homme Profil pro
    Développeur .NET et Web
    Inscrit en
    Septembre 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET et Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 47
    Par défaut
    Je ne comprend pas bien pourquoi tu veux passer par les mails.

    Le problème c'est que là ton logiciel doit aller récupérer les informations sur le serveur SMTP de la boite mails du technicien en question.

    Et là je ne peut pas trop t'aider. Pourquoi ne passe tu pas par une base de donnée ?

    Le client envoi la demande à sémaphore, le technicien reçoit un mail pour l'avertir et dans le même temps tu créé une nouvelle demande dans ta base.

    Côté technicien, il peut ensuite récupérer et traiter les demandes présentent dans la base.

    Je ne comprend pas l’intérêt de passer par les mails comme stockage de données enfait ^^ (Ou alors je n'ai pas compris ton besoins !)

  5. #5
    Membre éprouvé Avatar de Savak
    Homme Profil pro
    Ingénieur Etude et Développement
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Par défaut
    Citation Envoyé par jln.vergier Voir le message
    Le problème c'est que là ton logiciel doit aller récupérer les informations sur le serveur SMTP de la boite mails du technicien en question.
    C'est ça! C'est exactement ça! La question, c'est comment?

  6. #6
    Membre éclairé Avatar de Khalyss
    Homme Profil pro
    Développeur .NET et Web
    Inscrit en
    Septembre 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET et Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 47
    Par défaut
    Je te répond lundi. Mais j'ai fait une passerelle SMTP pour une service de renvoi de mail par SMS. Par contre, je ne l'ai pas développé moi même. Et nous avons acheter une License pour le composant.

    L'outil est déployé sur le serveur physique directement directement (c'est un service windows). A mon sens, tu fais une erreur de conception en partant sur cette voie.

    Comme je te dit tu peut très bien tout gérer avec une base de donnée ! Et utilisé en option l'envoi de mail.

    Quelles sont tes obligations et directives sur la voie à prendre ?

    Cordialement,
    JLN.

  7. #7
    Membre chevronné

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Par défaut
    Récupérer le contenu d'un mail, c'est bien beau, mais où ? Sur l'ordinateur client (sous Outlook par exemple) ? D'accord mais pour faire ça, il faut connaitre le format de stockage du logiciel. Directement sur le serveur de messagerie ? Ça veut dire implémenter du POP3 ou de l'IMAP suivant le serveur utilisé... Et si c'est du pop3, il faut laisser une copie du mail sur le serveur, sinon, mail relevé = mail supprimé...

    Sans vouloir faire de mauvais esprit, je ne vois qu'une solution facile à implémenter : ajouter un cadre où le technicien pourra copier-coller le contenu du mail qu'il aura reçu...

    Puis, dans un second temps, faire un vrai service client/serveur avec une base de données...

    Je veux bien que ce soit un projet dans le cadre scolaire, mais pour une future application professionnelle, il faut pouvoir faire des propositions viables.

  8. #8
    Membre éprouvé Avatar de Savak
    Homme Profil pro
    Ingénieur Etude et Développement
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Par défaut
    Citation Envoyé par plume13 Voir le message
    Puis, dans un second temps, faire un vrai service client/serveur avec une base de données...
    Très bien. D'après vos réponses, il est évident que je me suis mal orienté... Plume, tu me suggères de mettre en place une base de données. Je ne suis pas contre le principe, mais le problème est que je n'ai jamais fait cela avant.

    Cependant, il faudra bien y venir un jour... J'avoue que ça me fait un peu peur et qu'il y a pas mal de travail en perspective, mais après tout, pourquoi pas!

    Pour commencer, est-ce que vous auriez un tutoriel bien conçu à me proposer sur la mise en place d'une base de données avec VB.NET?

  9. #9
    Membre éclairé Avatar de Khalyss
    Homme Profil pro
    Développeur .NET et Web
    Inscrit en
    Septembre 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET et Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 47
    Par défaut
    Si tu n'es pas à l'aise avec le langage SQL tu peut utiliser des outils visuels tel que DBDesigner ou MySQL Workbench

    Pour l'utilisation de base de données avec VB.NET tu peut regarder les cours Dvp.com ici :

    - Base de données chapitre 1
    - Base de données chapitre 2
    - Base de données chapitre 3

    Ça te fais de la lecture mais mieux vaut commencer par le début pour éviter de perdre du temps

    Cordialement,
    Khalyss.

  10. #10
    Membre éprouvé Avatar de Savak
    Homme Profil pro
    Ingénieur Etude et Développement
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Par défaut
    Je ne suis pas novice à ce point là

    On va dire que j'ai déjà manipulé une BDD, effectué des requêtes SQL, des schéma merise etc... Ce que je ne sais pas faire, c'est le lien avec VB.NET. C'est à dire comment lier ma BDD à mon programme pour que ce dernier puisse interagir avec elle. Ça, c'est tout nouveau et à voir depuis le début

    Cependant, les cours que tu m'as transmis ont plutôt l'air bien fait! Je vais les mettre de côté, juste au cas ou!

  11. #11
    Membre éclairé Avatar de Khalyss
    Homme Profil pro
    Développeur .NET et Web
    Inscrit en
    Septembre 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET et Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 47
    Par défaut
    Regarde ici : ADO.NET
    Tu as tout un cours dans un PDF à télécharger et qui devrait te permettre de faire ce que tu souhaites

  12. #12
    Membre éprouvé Avatar de Savak
    Homme Profil pro
    Ingénieur Etude et Développement
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Par défaut
    Très bien, je m'y atèle dans la minute

    Khalyss, est-tu toi même un adepte de ce SGBD? Je te demande cela au cas ou j'aurais une question technique sur le sujet.

    Je vais lire ce cour, tenter de le mettre en application et je vous tiens au courant.

    Merci en tout cas pour vos réponses!

  13. #13
    Membre éclairé Avatar de Khalyss
    Homme Profil pro
    Développeur .NET et Web
    Inscrit en
    Septembre 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET et Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 47
    Par défaut
    Qu'entends tu par adepte ? Non ce n'est pas ce qui m'intéresse le plus dans le développement mais à l'heure ou j'écris ce message peu d'application tourne sans BDD

    Personnellement j'ai manipuler des bases sous MySQL, SQLServer et une fois Oracle. Si tu as des questions tu peut effectivement me les poser mais ceci sera un autre sujet dans un autre forum.

    Je te propose de mettre celui-ci en résolu !

    Cordialement,
    Khalyss


    My Bad j'avais compris : "es-tu toi même un adepte des SGBD?" Et évidemment ça n'a aucun sens

    ADO.NET n'est pas un système de gestion de BDD , c'est un ensemble de classes qui permet et facilite l'accès aux données dans une application. Il y à quelque framework plus complexe comme Linq ou EntityFramework mais je pense qu'ADO.NET fera l'affaire pour ton besoin.

  14. #14
    Membre éprouvé Avatar de Savak
    Homme Profil pro
    Ingénieur Etude et Développement
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Par défaut
    Bon, je pense avoir eu les réponses à mes questions!

    Merci encore!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/01/2010, 10h13
  2. Nom de la pièce jointe incomplet dans le mail reçu
    Par hammag dans le forum Langage
    Réponses: 1
    Dernier message: 18/11/2009, 16h46
  3. Effacer les éléments envoyés dans un mail
    Par ash_rmy dans le forum ODS et reporting
    Réponses: 1
    Dernier message: 03/01/2008, 17h21
  4. Réponses: 1
    Dernier message: 02/04/2007, 17h16
  5. Récupérer les informations contenus dans un mail
    Par acado dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 17
    Dernier message: 10/04/2006, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo