Showing posts with label C# Email. Show all posts
Showing posts with label C# Email. Show all posts

Jun 19, 2015

[Working Solution] Using Email Templates In C Sharp

Hi, I have been working lately with some Email Template Techniques in C#, and i have found this very simple and easy to use. So I will we be sharing hot this is going to work.

I have already covered how to send email in c#, you will be needing that also to understand this,
if u had gone through that then it is fine or else follow it here. [Send Email C#]


In this article I will explain how to send HTML Formatted emails. Now a day’s many websites sent newsletters, promotional emails. These emails containing Rich Text content and images
So let’s start with it.
Email Body HTML Template
Firstly you will need to build an HTML Template of the body which will have some placeholders which will be replaced with the actual content. Advantage of creating templates instead of building HTML using String Builder in code is that you can easily change the HTML of the template without changing the code.

<html>
<body style="color:grey; font-size:15px;">
<font face="Helvetica, Arial, sans-serif">
<div style="background-color: #ece8d4; width:600px; height:200px; padding:30px; margin-top:30px;">
<p>Hi {UserName},<p>
<p>You Have Been Added As A User In eProject Manager Application</p>
<p>    
UserName : {LoginId}
Password : {Password}
<br>
<br/>
<p>Thank you</p>
</div>
</body>
</html>

Above you will notice in YELLOW I have created the following three placeholders in the HTML Email template.
{UserName} – Name of the recipient
{LoginId} – Id used for the login
{Password} – Password for login
We are now almost done. Now the only thing we need to do is replace the placeholders with their actual values and send the email.
Populating the HTML Formatted Body
On the click event handler of a button I will first read the HTML Template file and then replace the placeholders with their values.
public string PopulateBody(string userName, string loginid, string pass)
{
string body = string.Empty;
using (StreamReader reader = new StreamReader(Server.MapPath("~/EmailTemplate.htm")))
    {
        body = reader.ReadToEnd();
    }
    body = body.Replace("{UserName}", userName);
    body = body.Replace("{LoginId}"loginid);
    body = body.Replace("{Password}"pass);
    
    return body;
}

With that the email template is complete.. you simply have to pass the return of this function to the email's message bode section.

View this link so you will be able to understand the sending email section too. [Send Email C#]

  MailMessage message = new MailMessage();
  message.IsBodyHtml = true;
  message.Body = PopulateBody('Hudhaifa','hudhaifa93','123456789');

 Now the email body will contain ur email template with your parameters passed..

Hope this is useful for the reader.

Any Problem,Suggestion or Help , Do not hesitate, Drop a mail.


May 18, 2015

[Working Solution] Send Email From C# C-Sharp

Let Me Explain You How To Send Emails Through C# Coding.
Using Reference System.Net and System.Net.Mail

//You Will Be Able Understand The Code By Comments
//IF You Face Any Problems Please Contact Me.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Web;
//First You Will Have To Include All These Libraries

namespace PMSWeb.Helpers
{
    public static class EmailHelper
    {  
public static void SendEmail(string fromUser, string toUsers, string ccUsers, string subject, string EmailMessage)
        {
//fromUser - will be the name of your Project . eg. Project Management
//toUsers - List of emails addresses separated by a ,(coma) this will we the To Addresses of the email eg. "test@gmail.com,test@yahoo.com"
//ccUsers - List of emails of CC users separated by a ,(coma)
//subject - subject of the Email Your Sending
//EmailMessage - This will be your email, the body of the email in other words


            string fromUserAddress = "yourEmail@domain";
            // The Email Address Which You Will Be using for Sending the Email.
            string fromUserPassword = "yourEmailPassword";
           //This will be your email addresses password
            string emailHost = "mail.gmail.com";
          //This will be your domains host id eg. mail.gmail.com  this is Gmails Host
            try
            {

                MailMessage message = new MailMessage();
//Create an object from MailMessage
//now (message) object will be an email instance

                string[] ToMuliId = toUsers.Split(',');
                foreach (string ToEMailId in ToMuliId)
                {
                    message.To.Add(new MailAddress(ToEMailId)); //adding multiple Email Addresses
                }

                if (ccUsers != null)
                {
                    string[] CCId = ccUsers.Split(',');

                    foreach (string CCEmail in CCId)
                    {
                        message.CC.Add(new MailAddress(CCEmail));
                       //Adding Multiple CC Email Addresses
                    }
                }
//you could use this if you want BCC also. and you will have to add a parameter for this class
                //string[] bccid = bccUsers.Split(',');

                //foreach (string bccEmailId in bccid)
                //{
                //    message.Bcc.Add(new MailAddress(bccEmailId)); //Adding Multiple BCC email Id
                //}


                message.Subject = subject;
                //assigning the subject received from the parameter to the emails object's subject

                message.IsBodyHtml = true;
                // you can send an HTML String With Styles and Stuff if you keep this true.
//if its just a string email you can keep it false. But you could still send string emails when it is //true

                message.Body = EmailMessage;
               // this will be the place you add the emailMessage to the body of your Email.

                message.From = new MailAddress(fromUserAddress, fromUser);
// sending your email address and your name.

                SmtpClient smtp = new SmtpClient(emailHost, 587);
// your emailHost and and the port , 587 would would work in most cases
             
                //smtp.EnableSsl = true;
//depending on your email host you could make the ssl true or false.


                // Do not send the DefaultCredentials with requests
// Don't know why,  I Also was asked not To.
                smtp.UseDefaultCredentials = false;

                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

  smtp.Credentials = new NetworkCredential(fromUserAddress, fromUserPassword);
//passing your email address and password.

                smtp.Send(message);
            }
            catch (Exception ex)
            {
                throw ex;
            }
                     
        }
    }
}

JWT Token Decode Using Jquery

When it come to authentication we use many mechanism. Ones the user authenticated we must keep these details somewhere safe. So we can share...