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