Strony internetowe ASP.NET — pomocnik WebMail
Pomocnik WebMail — jeden z wielu przydatnych pomocników sieci Web ASP.NET.
Dzięki obiektowi WebMail możesz łatwo wysyłać e-maile ze strony internetowej.
Pomocnik poczty internetowej
Pomocnik WebMail ułatwia wysyłanie wiadomości e-mail z aplikacji internetowej przy użyciu protokołu SMTP (Simple Mail Transfer Protocol).
Scenariusz: Wsparcie przez e-mail
Aby zademonstrować korzystanie z poczty e-mail, utworzymy stronę wejściową dla wsparcia, pozwolimy użytkownikowi przesłać stronę do innej strony i wyślemy e-mail o problemie ze wsparciem.
Po pierwsze: edytuj stronę startową aplikacji
Jeśli zbudowałeś aplikację Demo w tym samouczku, masz już stronę o nazwie _AppStart.cshtml z następującą zawartością:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId",
"Email", true);
}
Aby zainicjować pomocnika WebMail, dodaj następujące właściwości WebMail do swojej strony 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]";
}
Wyjaśnienie właściwości:
SmtpServer: nazwa serwera SMTP, który będzie używany do wysyłania wiadomości e-mail.
SmtpPort: port, którego serwer będzie używał do wysyłania transakcji SMTP (e-maili).
EnableSsl: True, jeśli serwer powinien używać szyfrowania SSL (Secure Socket Layer).
Nazwa użytkownika : nazwa konta e-mail SMTP użytego do wysłania wiadomości e-mail.
Hasło: hasło konta e-mail SMTP.
Od: adres e-mail, który ma pojawić się w adresie nadawcy (często taki sam jak nazwa użytkownika).
Po drugie: utwórz stronę do wprowadzania wiadomości e-mail
Następnie utwórz stronę wejściową i nazwij ją 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>
Celem strony wejściowej jest zbieranie informacji, a następnie przesyłanie danych do nowej strony, która może wysłać informacje jako e-mail.
Po trzecie: utwórz stronę wysyłania wiadomości e-mail
Następnie utwórz stronę, która będzie używana do wysłania wiadomości e-mail, i nazwij ją 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>
}
}
Odniesienie do obiektu WebMail — Właściwości
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 |
Odniesienie do obiektu WebMail — metody
Method | Description |
---|---|
Send() | Sends an email message to an SMTP server for delivery |
Metoda Send() ma następujące parametry:
Parameter | Type | Description |
---|---|---|
to | String | The Email recipients (separated by semicolon) |
subject | String | The subject line |
body | String | The body of the message |
Oraz następujące parametry opcjonalne:
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 |
Dane techniczne
Name | Value |
---|---|
Class | System.Web.Helpers.WebMail |
Namespace | System.Web.Helpers |
Assembly | System.Web.Helpers.dll |
Inicjowanie Pomocnika WebMail
Aby użyć pomocnika WebMail, potrzebujesz dostępu do serwera SMTP. SMTP to „wyjściowa” część wiadomości e-mail. Jeśli korzystasz z hosta internetowego, prawdopodobnie znasz już nazwę serwera SMTP. Jeśli pracujesz w sieci firmowej, Twój dział IT może podać Ci nazwę. Jeśli pracujesz w domu, możesz skorzystać ze zwykłego dostawcy poczty e-mail.
Aby wysłać wiadomość e-mail będziesz potrzebować:
- Nazwa serwera SMTP
- Numer portu (najczęściej 25)
- Nazwa użytkownika poczty e-mail
- Hasło e-mail
W katalogu głównym sieci Web utwórz stronę (lub edytuj stronę ) o nazwie _AppStart.cshtml .
Umieść następujący kod w pliku:
_AppStart.cshtml
@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "[email protected]";
WebMail.Password = "password";
WebMail.From = "[email protected]"
}
Powyższy kod będzie uruchamiany przy każdym uruchomieniu strony internetowej (aplikacji). Zasila Twój obiekt WebMail wartościami początkowymi.
Proszę zastąpić:
smtp.example.com z nazwą serwera SMTP, który będzie używany do wysyłania e-maili.
25 z numerem portu, którego serwer będzie używał do wysyłania transakcji SMTP (e-maili).
false z true, jeśli serwer powinien używać szyfrowania SSL (Secure Socket Layer).
[email protected] z nazwą konta e-mail SMTP używanego do wysyłania e-maili.
hasło z hasłem konta e-mail SMTP.
john@example z adresem e-mail, który ma się pojawić w adresie nadawcy.
Nie musisz inicjować obiektu WebMail w pliku AppStart, ale musisz ustawić te właściwości przed wywołaniem metody WebMail.Send() .