ASP.NET Web Pages - The WebMail Helper







googletag.cmd.push(function() { googletag.display('div-gpt-ad-1422003450156-2'); });



ASP.NET Web Pages - The WebMail Helper



❮ Previous
Next ❯



The WebMail Helper - One of many useful ASP.NET Web Helpers.



With the WebMail object you can easily send emails from a web page.




The WebMail Helper


The WebMail Helper makes it easy to send an email from a web application
using SMTP (Simple Mail transfer Protocol).






Scenario: Email Support



To demonstrate the use of email, we will create an input page for support, let
the user submit the page to another page, and send an email about the support
problem.





First: Edit Your AppStart Page



If you have built the Demo application in this tutorial, you already have a page
called _AppStart.cshtml with the following content:




_AppStart.cshtml



@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId",
"Email", true);
}




To initiate the WebMail helper, add the the following
WebMail properties to your AppStart page:




_AppStart.cshtml



@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId",
"Email", true);
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "support@example.com";
WebMail.Password = "password-goes-here";
WebMail.From = "john@example.com";

}



Properties explained:


SmtpServer: The name the SMTP server that will be used to
send the emails.


SmtpPort: The port the server will use to send SMTP
transactions (emails).


EnableSsl: True, if the server should use SSL (Secure Socket
Layer) encryption.


UserName: The name of the SMTP email account used to send
the email.


Password: The password of the SMTP email account.


From: The email to appear in the from address (often the
same as UserName).









googletag.cmd.push(function() { googletag.display('div-gpt-ad-1493883843099-0'); });







Second: Create an Email Input Page



Then create an input page, and name it 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>



The purpose of the input page is to collect information, then
submit the data to a new page that can send the information as an email.





Third: Create An Email Send Page



Then create the page that will be used to send the email, and name it Email_Send:




Email_Send.cshtml



@{ // Read input
var customerEmail = Request["customerEmail"];
var customerRequest = Request["customerRequest"];
try
{
// Send email
WebMail.Send(to:"someone@example.com", subject: "Help request from - " + customerEmail, body:
customerRequest );
}
catch (Exception ex )
{
<text>@ex</text>

}
}






WebMail Object Reference - Properties
































PropertiesDescription
SmtpServerThe name the SMTP server that will send the emails
SmtpPortThe port the server will use to send SMTP emails
EnableSslTrue, if the server should use SSL encryption
UserNameThe name of the SMTP account used to send the email
PasswordThe password of the SMTP account
FromThe email to appear in the from address



WebMail Object Reference - Methods











MethodDescription
Send()Sends an email message to an SMTP server for delivery

The Send() method has the following parameters:























Parameter Type Description
toStringThe Email recipients (separated by semicolon)
subjectStringThe subject line
bodyStringThe body of the message

And the following optional parameters:

































Parameter Type Description
fromStringThe email of the sender
ccStringThe cc emails (separated by semicolon)
filesToAttachCollectionFilenames
isBodyHtmlBooleanTrue if the email body is in HTML
additionalHeadersCollectionAdditional headers



Technical Data



















NameValue
ClassSystem.Web.Helpers.WebMail
NamespaceSystem.Web.Helpers
AssemblySystem.Web.Helpers.dll



Initializing the WebMail Helper


To use the WebMail helper, you need access to an SMTP server. SMTP is the
"output" part of email. If you use a web host, you probably already know the
name of the SMTP server. If you work in a corporate network, your IT department
can give you the name. If you are working at home, you
might be able to use your ordinary email provider.


 In order to send an email you will need:



  • The name of the SMTP server

  • The port number (most often 25)

  • An email user name

  • An email password


In the root of your web, create a page (or edit the page ) named _AppStart.cshtml.


Put the following code inside the file:




_AppStart.cshtml



@{
WebMail.SmtpServer = "smtp.example.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "support@example.com";
WebMail.Password = "password";
WebMail.From = "john@example.com"
}


The code above will run each time the web site (application) starts. It
feeds your WebMail Object with initial values.


Please substitute:


smtp.example.com with the name the SMTP server that will be used to
send the emails.


25 with the port number the server will use to send SMTP
transactions (emails).


false with true, if the server should use SSL (Secure Socket
Layer) encryption.


support@example.com with the name of the SMTP email account used to send
emails.


password with the password of the SMTP email account.


john@example with the email to appear in the from address.




You don't have to initiate the WebMail object in your AppStart
file, but you must set these properties before you call the WebMail.Send()
method.





❮ Previous
Next ❯

Popular posts from this blog

Chat program with C++ and SFML

Function to Return a JSON Like Objects Using VBA Collections and Arrays

Will my employers contract hold up in court?