Webové stránky ASP.NET – WebMail Helper
WebMail Helper – jeden z mnoha užitečných webových pomocníků ASP.NET.
Pomocí objektu WebMail můžete snadno odesílat e-maily z webové stránky.
WebMail Helper
WebMail Helper usnadňuje odesílání e-mailů z webové aplikace pomocí protokolu SMTP (Simple Mail transfer Protocol).
Scénář: E-mailová podpora
Abychom demonstrovali použití e-mailu, vytvoříme vstupní stránku pro podporu, necháme uživatele odeslat stránku na jinou stránku a zašleme e-mail o problému podpory.
Za prvé: Upravte svou úvodní stránku aplikace
Pokud jste v tomto kurzu vytvořili ukázkovou aplikaci, máte již stránku s názvem _AppStart.cshtml s následujícím obsahem:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId",
"Email", true);
}
Chcete-li spustit pomocníka WebMail, přidejte na stránku AppStart následující vlastnosti WebMail:
_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]";
}
Vysvětlené vlastnosti:
SmtpServer: Název serveru SMTP, který bude použit k odesílání e-mailů.
SmtpPort: Port, který server použije k odesílání transakcí SMTP (e-mailů).
EnableSsl: Pravda, pokud má server používat šifrování SSL (Secure Socket Layer).
Uživatelské jméno: Název e-mailového účtu SMTP použitého k odeslání e-mailu.
Heslo: Heslo e-mailového účtu SMTP.
From: E-mail, který se má objevit v adrese odesílatele (často stejná jako uživatelské jméno).
Za druhé: Vytvořte vstupní stránku e-mailu
Poté vytvořte vstupní stránku a pojmenujte ji 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>
Účelem vstupní stránky je shromáždit informace a poté je odeslat na novou stránku, která může odeslat informace e-mailem.
Za třetí: Vytvořte stránku pro odeslání e-mailu
Poté vytvořte stránku, která bude použita k odeslání e-mailu, a pojmenujte ji Email_Send:
Email_Send.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>
}
}
Odkaz na objekt WebMail - Vlastnosti
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 |
Odkaz na objekt WebMail - Metody
Method | Description |
---|---|
Send() | Sends an email message to an SMTP server for delivery |
Metoda Send() má následující parametry:
Parameter | Type | Description |
---|---|---|
to | String | The Email recipients (separated by semicolon) |
subject | String | The subject line |
body | String | The body of the message |
A následující volitelné parametry:
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 |
Technická data
Name | Value |
---|---|
Class | System.Web.Helpers.WebMail |
Namespace | System.Web.Helpers |
Assembly | System.Web.Helpers.dll |
Inicializace WebMail Helper
Chcete-li používat pomocníka WebMail, potřebujete přístup k serveru SMTP. SMTP je „výstupní“ část e-mailu. Pokud používáte webhosting, pravděpodobně již znáte název serveru SMTP. Pokud pracujete v podnikové síti, vaše IT oddělení vám může dát jméno. Pokud pracujete doma, možná budete moci použít svého běžného poskytovatele e-mailu.
K odeslání e-mailu budete potřebovat:
- Název serveru SMTP
- Číslo portu (nejčastěji 25)
- Uživatelské jméno e-mailu
- E-mailové heslo
V kořenovém adresáři webu vytvořte stránku (nebo upravte stránku ) s názvem _AppStart.cshtml .
Do souboru vložte následující kód:
_AppStart.cshtml
@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "[email protected]";
WebMail.Password = "password";
WebMail.From = "[email protected]"
}
Výše uvedený kód se spustí při každém spuštění webové stránky (aplikace). Dodává vašemu WebMail objektu počáteční hodnoty.
Nahraďte prosím:
smtp.example.com s názvem serveru SMTP, který bude použit k odesílání e-mailů.
25 s číslem portu, který server použije k odesílání transakcí SMTP (e-mailů).
false s true, pokud má server používat šifrování SSL (Secure Socket Layer).
[email protected] s názvem e-mailového účtu SMTP používaného k odesílání e-mailů.
heslo s heslem e-mailového účtu SMTP.
john@example s e-mailem, který se zobrazí v adrese odesílatele.
Nemusíte iniciovat objekt WebMail v souboru AppStart, ale musíte tyto vlastnosti nastavit před voláním metody WebMail.Send() .