Pages Web ASP.NET - L'assistant WebMail


L'assistant WebMail - L'un des nombreux assistants Web ASP.NET utiles.

Avec l'objet WebMail, vous pouvez facilement envoyer des e-mails à partir d'une page Web.


L'assistant WebMail

L'assistant WebMail facilite l'envoi d'un e-mail à partir d'une application Web à l'aide de SMTP (Simple Mail transfer Protocol).


Scénario : Assistance par e-mail

Pour démontrer l'utilisation de l'e-mail, nous allons créer une page d'entrée pour l'assistance, laisser l'utilisateur soumettre la page à une autre page et envoyer un e-mail concernant le problème d'assistance.


Tout d'abord : modifiez votre page AppStart

Si vous avez créé l'application de démonstration dans ce didacticiel, vous disposez déjà d'une page appelée _AppStart.cshtml avec le contenu suivant :

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}

Pour lancer l'assistant WebMail, ajoutez les propriétés WebMail suivantes à votre page AppStart :

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "[email protected]";
WebMail.Password = "password-goes-here";
WebMail.From = "[email protected]";

}

Propriétés expliquées :

SmtpServer : Le nom du serveur SMTP qui sera utilisé pour envoyer les e-mails.

SmtpPort : Le port que le serveur utilisera pour envoyer des transactions SMTP (courriels).

EnableSsl : Vrai, si le serveur doit utiliser le cryptage SSL (Secure Socket Layer).

Nom d'utilisateur : nom du compte de messagerie SMTP utilisé pour envoyer l'e-mail.

Mot de passe : Le mot de passe du compte de messagerie SMTP.

De : L'e-mail qui doit apparaître dans l'adresse de l'expéditeur (souvent le même que le nom d'utilisateur).



Deuxièmement : Créer une page d'entrée d'e-mail

Créez ensuite une page d'entrée et nommez-la Email_Input :

Email_Input.cshtml

<!DOCTYPE html>
<html>
<body>
<h1>Request for Assistance</h1>

<form method="post" action="EmailSend.cshtml">
<label>Username:</label>
<input type="text" name="customerEmail" />
<label>Details about the problem:</label>
<textarea name="customerRequest" cols="45" rows="4"></textarea>
<p><input type="submit" value="Submit" /></p>
</form>

</body>
</html>

Le but de la page d'entrée est de collecter des informations, puis de soumettre les données à une nouvelle page qui peut envoyer les informations sous forme de courrier électronique.


Troisièmement : créer une page d'envoi d'e-mails

Créez ensuite la page qui servira à envoyer l'e-mail, et nommez-la Email_Envoyer :

Courriel_Envoyer.cshtml

@{ // Read input
var customerEmail = Request["customerEmail"];
var customerRequest = Request["customerRequest"];
try
{
// Send email
WebMail.Send(to:"[email protected]", subject: "Help request from - " + customerEmail, body: customerRequest );
}
catch (Exception ex )
{
<text>@ex</text>
}
}

Référence de l'objet WebMail - Propriétés

Properties Description
SmtpServer The name the SMTP server that will send the emails
SmtpPort The port the server will use to send SMTP emails
EnableSsl True, if the server should use SSL encryption
UserName The name of the SMTP account used to send the email
Password The password of the SMTP account
From The email to appear in the from address

Référence d'objet WebMail - Méthodes

Method Description
Send() Sends an email message to an SMTP server for delivery

La méthode Send() a les paramètres suivants :

Parameter Type Description
to String The Email recipients (separated by semicolon)
subject String The subject line
body String The body of the message

Et les paramètres optionnels suivants :

Parameter Type Description
from String The email of the sender
cc String The cc emails (separated by semicolon)
filesToAttach Collection Filenames
isBodyHtml Boolean True if the email body is in HTML
additionalHeaders Collection Additional headers

données techniques

Name Value
Class System.Web.Helpers.WebMail
Namespace System.Web.Helpers
Assembly System.Web.Helpers.dll

Initialisation de l'assistant WebMail

Pour utiliser l'assistant WebMail, vous devez avoir accès à un serveur SMTP. SMTP est la partie "sortie" du courrier électronique. Si vous utilisez un hébergeur, vous connaissez probablement déjà le nom du serveur SMTP. Si vous travaillez dans un réseau d'entreprise, votre service informatique peut vous donner le nom. Si vous travaillez à la maison, vous pourrez peut-être utiliser votre fournisseur de messagerie habituel.

 Pour envoyer un e-mail, vous aurez besoin de :

  • Le nom du serveur SMTP
  • Le numéro de port (le plus souvent 25)
  • Un nom d'utilisateur de messagerie
  • Un mot de passe de messagerie

À la racine de votre site Web, créez une page (ou modifiez la page) nommée _AppStart.cshtml .

Mettez le code suivant dans le fichier :

_AppStart.cshtml

@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "[email protected]";
WebMail.Password = "password";
WebMail.From = "[email protected]"
}

Le code ci-dessus s'exécutera à chaque démarrage du site Web (application). Il alimente votre objet WebMail avec des valeurs initiales.

Veuillez remplacer :

smtp.example.com avec le nom du serveur SMTP qui sera utilisé pour envoyer les emails.

25 avec le numéro de port que le serveur utilisera pour envoyer les transactions SMTP (courriels).

false avec true, si le serveur doit utiliser le cryptage SSL (Secure Socket Layer).

[email protected] avec le nom du compte de messagerie SMTP utilisé pour envoyer des e-mails.

mot de passe avec le mot de passe du compte de messagerie SMTP.

john@example avec l'e-mail devant apparaître dans l'adresse de l'expéditeur.

Vous n'avez pas besoin d' initier l'objet WebMail dans votre fichier AppStart, mais vous devez définir ces propriétés avant d'appeler la méthode WebMail.Send() .