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";
}
}
}
Partager