Envoyer un mail avec plusieurs fichiers joints

Contenu du snippet

Composant développé en C# qui vous permetra de gérer les envois de mails. A cet effet, il vous permet d'attacher à ce dernier autant de fichiers que vous voulez. Aussi, vous pouvez définir le format du message à envoyer : html ou texte.

Personnelement, je l'utilise pour envoyer automatiquement mes candidatures à d'éventuels postes à pourvoir. Ainsi au message, je joins à la fois, une copie de mon CV et une copie de ma LM.

Bon dev.

Gz.

Source / Exemple :


using System;
using System.Web.Mail;

namespace JobManagement.Components.Utilities
{
	/// <summary>
	/// Permet de gérer l'envoi de mail.
	/// </summary>
	public class MailManager
	{
		private string _SmtpServer = "smtp.free.fr";
		private MailFormat _MailFormat = MailFormat.Text;
		private string _From = null;
		private string _To = null;
		private string _Subject = null;
		private string _Body = null;
		private string[] _AttchFile = {@"C:\temp\CV.doc",@"C:\temp\LM.doc"};

		/// <summary>
		/// Permet de définir l'adresse du serveur SMTP.
		/// </summary>
		public string SmtpServer
		{
			set
			{
				this._SmtpServer = value;
			}
		}

		/// <summary>
		/// Permet de définir le format du mail.
		/// True => HTML, false => Texte.
		/// </summary>
		public bool BodyFormat
		{
			set
			{
				if (value)
					this._MailFormat = MailFormat.Html;
				else
					this._MailFormat = MailFormat.Text;
			}
		}

		/// <summary>
		/// Permet de définir l'adresse électronique de l'expéditeur.
		/// </summary>
		public string From
		{
			set
			{
				this._From = value;
			}
		}

		/// <summary>
		/// Permet de définir l'adresse électronique du destinataire.
		/// </summary>
		public string To
		{
			set
			{
				this._To = value;
			}
		}

		/// <summary>
		/// Permet de définir l'objet du message.
		/// </summary>
		public string Subject
		{
			set
			{
				this._Subject = value;
			}
		}

		/// <summary>
		/// Permet de définir le corps du message.
		/// </summary>
		public string Body
		{
			set
			{
				this._Subject = value;
			}
		}

		/// <summary>
		/// Permet de définir un tableau de fichiers à joindre au message.
		/// </summary>
		public string[] Attach
		{
			set
			{
				this._AttchFile = value;
			}
		}

		/// <summary>
		/// Permet d'obtenir une instance de gestionnaire de mails.
		/// </summary>
		public MailManager()
		{
		}

		/// <summary>
		/// Permet d'envoyer un message électronique.
		/// </summary>
		/// <returns>Retourne un booléen indiquant si le message a bien été émis.</returns>
		public bool IsMailSent()
		{
			bool blnSuccess = true;
			MailMessage objMessage = new MailMessage();

			try
			{
				SmtpMail.SmtpServer = this._SmtpServer;
				objMessage.BodyFormat = this._MailFormat;
				objMessage.From = this._From;
				objMessage.To = this._To;
				objMessage.Subject = this._Subject;
				objMessage.Body = this._Body;

				// Attache au message chacun des éventuels fichiers.
				if (this._AttchFile != null)
				{
					foreach(string str in this._AttchFile)
					{
						objMessage.Attachments.Add(new MailAttachment(str, MailEncoding.Base64));
					}
				}

				// Envoit le message.
				SmtpMail.Send(objMessage);
			}
			catch (Exception)
			{
				blnSuccess = false;
			}
			finally
			{
				objMessage = null;
			}
			return blnSuccess;
		}
	}
}

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.