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

Windows Forms Discussion :

Envoie email: No overload for method


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut Envoie email: No overload for method
    Salut,

    Je viens vous poser un autre problème (j'en suis plein )

    Mon programme contient une fonction d'envoie d'e-mail, j'ai suivis ce tutoriel(uniquement l'envoie):
    http://lgmorand.developpez.com/dotnet/mail/

    Voici donc mon code:

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
            [STAThread]
            public void sendMail(object sender, EventArgs e)
            {
                //Définitions des données
                string Froms = "yannick@bluesystem.ch";
                string pour = txtDestinataire.Text;
                string Subjects = txtSujet.Text;
                string msgAttachs = txtAttach.Text;
                string Bodys = txtMsg.Text;
                string Servers = "mail.bluesystem.ch";
                //Configuration 
                emailclient.From = new MailAddress("" + Froms + "");
                emailclient.To.Add(new MailAddress("" + pour + ""));
                emailclient.Subject = Subjects;
                emailclient.Body = Bodys;
     
                SmtpClient envoieEmailClient = new SmtpClient();
                envoieEmailClient.Host = Servers;
                //Pièce jointe
                Attachment pieceJointeEmailClient = new Attachment(@"" + msgAttachs + "");
                emailclient.Attachments.Add(pieceJointeEmailClient);
                //envoie
                try
                {
                    envoieEmailClient.Send(emailclient);
     
                    toolStripStatusLabel2.Text = "Email envoyé avec succès";
                }
                catch (Exception mesEx)
                {
                    toolStripStatusLabel2.Text = "Erreur: " + mesEx.Message + ". Impossible d'envoyé le mail.";
                }
     
            }
    Ma forme contient un bouton destinné à envoyé le message:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            private void btnEnvoyer_Click(object sender, EventArgs e)
            {
                sendMail();
            }
    Voici l'erreur que je vois afficher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error	1	No overload for method 'sendMail' takes '0' arguments
    Qu'est-ce qu'il entend par "prends 0 arguments"? Quel est la solution?

    Je vous remercie de l'attention porté à mon message.

    Kiwi

  2. #2
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    C'est explicite, comme erreur, quand même Tu as créé une fonction qui prend deux paramètres, par conséquent tu dois lui donner deux paramètres pour pouvoir l'appeler. Remplace ton sendMail par sendMail(sender, e).

  3. #3
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Error	1	No overload for method 'sendMail' takes '0' arguments
    c'est normal cet erreur
    tu as déclaré ta méthode par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public void sendMail(object sender, EventArgs e)
    donc il faut que tu l'appelle comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     private void btnEnvoyer_Click(object sender, EventArgs e)
            {
                sendMail(sender,e);
            }
    et sa va marcherai si ta méthode est bien écrite

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    La référence d'objet n'est pas définie à une instance d'un objet.

    ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    emailclient.From = new MailAddress("" + Froms + "");
    je pense sa touchera aussi celle ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    emailclient.To.Add(new MailAddress("" + pour + ""));
    peut être aussi ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Attachment pieceJointeEmailClient = new Attachment(@"" + msgAttachs + "");

  5. #5
    Membre éprouvé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Par défaut
    Ca veus dire que ta variable emailclient n'est pas instanciée, c'est à dire = à null au moment où tu veux définir l'adresse de l'expéditeur.

    Il te manque un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    emailclient = new tontypeobjet()

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    Qu'est-ce que je dois mettre a la place de tontypedobjet ici? Oo parceque je suis un peu perdu. :]

    voici le code concernant l'e-mail
    http://pastebin.org/16618

  7. #7
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 77
    Par défaut
    Tu dois instancier ta variable, donc à priori
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MailMessage emailclient = new MailMessage()
    ... Vérifie tout de même si tu ne dois pas passer des arguments à ton constructeur.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    j'ai remplacer la ligne MailMessage emailClient;

    par ta ligne:
    MailMessage emailclient = new MailMessage();

    voici l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error	2	The type or namespace name 'mail' could not be found (are you missing a using directive or an assembly reference?)
    jvous en fais voir de toutes les couleurs \o/

    Edit: mmmm... attends, je croix j'ai compris

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    ah bah nop, ca fonctionne pas :/

    jme demande si ma fonction est bonne:

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    public void sendMail(object sender, EventArgs e)
            {
                //Définitions des données
                string Froms = "yannick@bluesystem.ch";
                string pour = txtDestinataire.Text;
                string Subjects = txtSujet.Text;
                string msgAttachs = txtAttach.Text;
                string Bodys = txtMsg.Text;
                string Servers = "mail.bluesystem.ch";
                MailMessage emailclient = new MailMessage();
     
     
                //Configuration 
                emailclient.From = new MailAddress("" + Froms + "");
                emailclient.To.Add(new MailAddress("" + pour + ""));
                emailclient.Subject = Subjects;
                emailclient.Body = Bodys;
     
                SmtpClient envoieEmailClient = new SmtpClient();
                envoieEmailClient.Host = Servers;
     
                //Pièce jointe
                Attachment pieceJointeEmailClient = new Attachment(@"" + msgAttachs + "");
                emailclient.Attachments.Add(pieceJointeEmailClient);
     
                //envoie
                try
                {
                    envoieEmailClient.Send(emailclient);
     
                    toolStripStatusLabel1.Text = "Email envoyé avec succès";
                    toolStripStatusLabel1.Text = "";
                }
                catch (Exception mesEx)
                {
                    toolStripStatusLabel1.Text = "Erreur: " + mesEx.Message + ". Impossible d'envoyé le mail.";
                    toolStripStatusLabel1.Text = "";
                }
            }
    et pour aller chercher un fichier joint:

    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
    private void btnParcourir_Click(object sender, EventArgs e)
            {
                openFileDialog1.InitialDirectory = @"C:\";
                openFileDialog1.Title = "Selectionner un fichier";
                openFileDialog1.FileName = "";
                if (openFileDialog1.ShowDialog() != DialogResult.Cancel)
                {
                    txtAttach.Text = openFileDialog1.FileName;
                    toolStripStatusLabel2.Text = "Le fichier à été joint avec succès.";
                }
                else
                {
                    txtAttach.Text = "";
                    toolStripStatusLabel2.Text = "Le fichier n'a pu être joint.";
                }
            }
    Edit: Soucis SMTP. jvous envoie les messages dans le debut de l'après midi si j'arrive pas.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    J'ai trouver,

    jpaste le code pour les suivant:

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    using System.Net.Mail;
    using System.Net.Mime;
    using System.Net;
     
        public partial class Form1 : Form
        {
            MailMessage emailclient = new MailMessage();
            CredentialCache myCache = new CredentialCache();
     
    public void sendMail(object sender, EventArgs e)
            {
                //Définitions des données
                string Froms = "yannick@bluesystem.ch";
                string pour = txtDestinataire.Text;
                string Subjects = txtSujet.Text;
                string msgAttachs = txtAttach.Text;
                string Bodys = txtMsg.Text;
                MailMessage emailclient = new MailMessage();
     
     
                //Configuration 
                emailclient.From = new MailAddress("" + Froms + "");
                emailclient.To.Add(new MailAddress("" + pour + ""));
                emailclient.Subject = Subjects;
                emailclient.Attachments.Add(new Attachment("" + msgAttachs + ""));
                emailclient.Body = Bodys;
     
                SmtpClient envoieEmailClient = new SmtpClient();
                envoieEmailClient.Host = "mail.bluewin.ch";
                envoieEmailClient.Credentials = new NetworkCredential("h.berthoud", "runner11");
     
     
                //Pièce jointe
                Attachment pieceJointeEmailClient = new Attachment(@"" + msgAttachs + "");
                emailclient.Attachments.Add(pieceJointeEmailClient);
     
                //envoie
                try
                {
                    envoieEmailClient.Send(emailclient);
     
                    toolStripStatusLabel1.Text = "Email envoyé avec succès";
                    toolStripStatusLabel2.Text = "";
                }
                catch (SmtpException mesEx)
                {
                    MessageBox.Show("Erreur: " + mesEx.Message + " \nGetTypeErreur: " + mesEx.GetType() + " .");
                    toolStripStatusLabel1.Text = "";
                }
            }
     
            private void btnEnvoyer_Click(object sender, EventArgs e)
            {
                sendMail(sender, e);
            }

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/09/2009, 16h40
  2. Réponses: 6
    Dernier message: 03/04/2009, 23h30
  3. Problème d'envoi email sous Mandriva
    Par wxcvbn123456 dans le forum Réseau
    Réponses: 5
    Dernier message: 26/05/2006, 16h22
  4. [VB]Envoi email
    Par CCRNP dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/03/2006, 18h09
  5. Réponses: 3
    Dernier message: 14/12/2005, 14h56

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