ASP.NET Webbladsye - Die WebMail Helper
Die WebMail Helper - Een van baie nuttige ASP.NET Web Helpers.
Met die WebMail-voorwerp kan jy maklik e-posse vanaf 'n webblad stuur.
Die WebMail Helper
Die WebMail Helper maak dit maklik om 'n e-pos vanaf 'n webtoepassing te stuur met SMTP (Simple Mail Transfer Protocol).
Scenario: E-pos ondersteuning
Om die gebruik van e-pos te demonstreer, sal ons 'n invoerbladsy vir ondersteuning skep, die gebruiker die bladsy na 'n ander bladsy laat indien, en 'n e-pos stuur oor die ondersteuningsprobleem.
Eerstens: Wysig jou AppStart Page
As jy die Demo-toepassing in hierdie tutoriaal gebou het, het jy reeds 'n bladsy genaamd _AppStart.cshtml met die volgende inhoud:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId",
"Email", true);
}
Om die WebMail-helper te begin, voeg die volgende WebMail-eienskappe by jou AppStart-bladsy:
_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]";
}
Eienskappe verduidelik:
SmtpServer: Die naam van die SMTP-bediener wat gebruik sal word om die e-posse te stuur.
SmtpPort: Die poort wat die bediener sal gebruik om SMTP-transaksies (e-posse) te stuur.
EnableSsl: Waar, as die bediener SSL (Secure Socket Layer)-enkripsie moet gebruik.
Gebruikersnaam: Die naam van die SMTP-e-posrekening wat gebruik word om die e-pos te stuur.
Wagwoord: Die wagwoord van die SMTP-e-posrekening.
Van: Die e-pos wat in die vanaf-adres verskyn (dikwels dieselfde as Gebruikersnaam).
Tweedens: Skep 'n e-posinvoerbladsy
Skep dan 'n invoerbladsy en noem dit 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>
Die doel van die invoerbladsy is om inligting in te samel, en dan die data na 'n nuwe bladsy in te dien wat die inligting as 'n e-pos kan stuur.
Derde: Skep 'n e-pos-stuurbladsy
Skep dan die bladsy wat gebruik sal word om die e-pos te stuur, en noem dit 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>
}
}
WebMail-objekverwysing - Eienskappe
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 |
WebMail-objekverwysing - Metodes
Method | Description |
---|---|
Send() | Sends an email message to an SMTP server for delivery |
Die Send() metode het die volgende parameters:
Parameter | Type | Description |
---|---|---|
to | String | The Email recipients (separated by semicolon) |
subject | String | The subject line |
body | String | The body of the message |
En die volgende opsionele parameters:
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 |
Tegniese data
Name | Value |
---|---|
Class | System.Web.Helpers.WebMail |
Namespace | System.Web.Helpers |
Assembly | System.Web.Helpers.dll |
Inisialiseer die WebMail Helper
Om die WebMail-helper te gebruik, benodig jy toegang tot 'n SMTP-bediener. SMTP is die "uitvoer" deel van e-pos. As jy 'n webgasheer gebruik, ken jy waarskynlik reeds die naam van die SMTP-bediener. As jy in 'n korporatiewe netwerk werk, kan jou IT-afdeling jou die naam gee. As jy tuis werk, kan jy dalk jou gewone e-posverskaffer gebruik.
Om 'n e-pos te stuur sal jy nodig hê:
- Die naam van die SMTP-bediener
- Die poortnommer (meestal 25)
- 'n E-pos gebruikersnaam
- 'n E-pos wagwoord
In die wortel van jou web, skep 'n bladsy (of wysig die bladsy ) met die naam _AppStart.cshtml .
Plaas die volgende kode in die lêer:
_AppStart.cshtml
@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "[email protected]";
WebMail.Password = "password";
WebMail.From = "[email protected]"
}
Die kode hierbo sal loop elke keer as die webwerf (toepassing) begin. Dit voed jou WebMail-objek met aanvanklike waardes.
Vervang asseblief:
smtp.example.com met die naam die SMTP-bediener wat gebruik sal word om die e-posse te stuur.
25 met die poortnommer wat die bediener sal gebruik om SMTP-transaksies (e-posse) te stuur.
vals met waar, as die bediener SSL (Secure Socket Layer)-enkripsie moet gebruik.
[email protected] met die naam van die SMTP-e-posrekening wat gebruik word om e-posse te stuur.
wagwoord met die wagwoord van die SMTP-e-posrekening.
john@voorbeeld met die e-pos om in die van-adres te verskyn.
Jy hoef nie die WebMail-objek in jou AppStart-lêer te begin nie, maar jy moet hierdie eienskappe stel voordat jy die WebMail.Send() -metode aanroep.