Send mail with gmail

Description

voila un petit programme qui permet d'envoyer des mail en utilisant le client SMTP de GMAIL
il manque beaucoup d'améliorations (elles sont le bienvenus bien sur).
et merci pour vous idées ( car je n'ai fait que l'assemblage de plusieurs codes )

Source / Exemple :


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;

namespace SendMail
{
    public partial class Form1 : Form
    {
        SmtpClient smtp = null;
        public Form1()
        {
            InitializeComponent();
            lblErreur.Text = "";
            button1.Visible = false;
            
            smtp = new SmtpClient("smtp.gmail.com");
            smtp.UseDefaultCredentials = false;
            smtp.EnableSsl = true;
            smtp.Port = 587;
            smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);

        }

        private void btEnvoyer_Click(object sender, EventArgs e)
        {
            try
            {
                button1.Visible = true;
                lblErreur.Text = "";

                MailMessage email = new MailMessage(tbExpediteur.Text, tbDestinataire.Text, tbObjet.Text, tbMessage.Text);
                NetworkCredential cred = new NetworkCredential(tbExpediteur.Text, tbmPassword.Text);
                email.IsBodyHtml = true;
                email.Priority = MailPriority.High;
                smtp.Credentials = cred;

                string userState = "Message";
                try
                {
                    smtp.SendAsync(email, userState);
                    lblErreur.Text = "Envoie du message... ";
                }
                catch (Exception ex)
                {
                    lblErreur.Text = ex.Message;
                }
            }
            catch(Exception expt)
            {
                lblErreur.Text = expt.Message;
            }
        }

        public  void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
        {
            // Get the unique identifier for this asynchronous operation.
            String token = (string)e.UserState;

            if (e.Cancelled)
            {
                lblErreur.Text = String.Format("[{0}] Envoie annuler.", token);
            }
            else if (e.Error != null)
            {
                lblErreur.Text = String.Format("[{0}] {1}", token, e.Error.ToString());
            }
            else
            {
                lblErreur.Text = String.Format("Message envoyé.");
            }
            button1.Visible = false;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            smtp.SendAsyncCancel();
        }

    }
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.