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

C# Discussion :

Erreur SMTP


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut Erreur SMTP
    slt;
    voila ce petit programme permit d'envoyer des email,il fonctionne correctement avec Gmail.com, mais avec les autres ne fonctionne pas, il m'affiche que smtp n'existe pas?
    par exemple smtp.hotmail.com

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Net.Mail;
    using System.Net.Mime;
    using System.Threading;

    namespace SendMailGmail
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    static bool mailSent = false;

    public void SendMail()
    {
    string username,email;
    System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
    msg.To.Add(textBox3.Text);
    username = textBox1.Text;
    email = username + "@gmail.com";
    msg.From = new MailAddress(email, username, System.Text.Encoding.UTF8);
    msg.Subject = textBox4.Text;
    msg.SubjectEncoding = System.Text.Encoding.UTF8;
    msg.Body = richTextBox1.Text;
    msg.BodyEncoding = System.Text.Encoding.UTF8;
    msg.IsBodyHtml = false;
    msg.Priority = MailPriority.High;

    SmtpClient client = new SmtpClient();
    client.Credentials = new System.Net.NetworkCredential(email, textBox2.Text);
    client.Port = 587;
    switch(comboBox1.Text)
    {
    case "@gmail.com":
    client.Host = "smtp.gmail.com";
    break;
    case "@hotmail.com":
    client.Host = "smtp.hotmail.com";
    break;
    case "@hotmail.fr":
    client.Host = "smtp.homail.fr";
    break;
    case "@yahoo.com":
    client.Host = "smtp.mail.yahoo.com";
    break;
    case "@yahoo.fr":
    client.Host = "smtp.mail.yahoo.fr";
    break;
    case "@lycos.com":
    client.Host = "smtp.mail.lycos.com";
    break;
    case "@aol.com":
    client.Host = "smtp.aol.com";
    break;
    case "@mail.com":
    client.Host = "smtp1.mail.com";
    break;
    case "@wanadoo.fr":
    client.Host = "smtp.wanadoo.fr";
    break;
    case "@free.fr":
    client.Host = "smtp.free.fr";
    break;
    }
    client.EnableSsl = true;
    client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
    object userState = msg;
    try
    {
    //you can also call client.Send(msg)
    client.SendAsync(msg, userState);
    }
    catch (System.Net.Mail.SmtpException ex)
    {
    MessageBox.Show(ex.Message, "Send Mail Error");
    }
    }

    void client_SendCompleted(object sender, AsyncCompletedEventArgs e)
    {
    MailMessage mail = (MailMessage)e.UserState;
    string subject = mail.Subject;

    if (e.Cancelled)
    {
    string cancelled = string.Format("[{0}] Send canceled.", subject);
    MessageBox.Show(cancelled);
    }
    if (e.Error != null)
    {
    string error = String.Format("[{0}] {1}", subject, e.Error.ToString());
    MessageBox.Show(error);
    }
    else
    MessageBox.Show("Message sent.");

    mailSent = true;
    }
    private void button1_Click(object sender, EventArgs e)
    {
    if (comboBox1.Text == "")
    MessageBox.Show(" Server Name ");
    if (textBox1.Text == "")
    MessageBox.Show(" UserName ");
    if (textBox1.Text == "")
    MessageBox.Show(" Password ");
    if (textBox1.Text == "")
    MessageBox.Show(" Send To ");
    if (textBox1.Text != "" && textBox2.Text != "" && textBox3.Text != "" && comboBox1.Text != "")
    this.SendMail();
    }

    private void button2_Click(object sender, EventArgs e)
    {
    textBox1.Text = "";
    textBox2.Text = "";
    textBox3.Text = "";
    textBox4.Text = "";
    richTextBox1.Text = "";
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    comboBox1.Text="@gmail.com";
    }
    }
    }

  2. #2
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut
    Déjà utilise les balises [code][/ code]

    Si sa peut t'interesser voici la liste des serveur smtp :

    Liste serveur smtp

  3. #3
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    C'est normal, il faut un serveur autorisant l'Open Relay, c'est-à-dire qu'il accepte d'envoyer des e-mails sans authentification préalable. Ce qui n'est pas le cas de ces serveurs.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

Discussions similaires

  1. envoi de mail+ erreur smtp
    Par ballantine's dans le forum Langage
    Réponses: 2
    Dernier message: 08/04/2010, 14h07
  2. Réponses: 0
    Dernier message: 19/02/2010, 16h28
  3. [Mail] Erreur SMTP serveur
    Par punaise_69 dans le forum Langage
    Réponses: 1
    Dernier message: 05/09/2007, 21h06
  4. Réponses: 6
    Dernier message: 19/09/2006, 20h55

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