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() .