Thursday, July 12, 2012

How to Send Email to Registered Users using c sharp.




 I need to send an email to registered user for every 3 days.Mail starting date will be read from database(sqlserver).This should be done automatically.
I am hosting my website on shared webserver like india.com.
Think I cannot write windows service and install.
I think we need to wrtie webservice which fires acynchronously which checks date.
am n confusion.please guide me.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Net.Mail;
using System.Configuration;
using System.Data;
using System.Web.Security;


namespace IATI_Email_Application
{
   public partial class ATIEmail : System.Web.UI.Page
   {
       protected void SUBMIT_Click(object sender, EventArgs e)
       {
           String SMTPServerName =
ConfigurationManager.AppSettings["SMTP_SERVER"].ToString();
           String MailUserName =
ConfigurationManager.AppSettings["EMAIL_USERNAME"].ToString();
           String MailPassword =
ConfigurationManager.AppSettings["EMAIL_PASSWORD"].ToString();
           String adminToEmail =
ConfigurationManager.AppSettings["ADMINISTRATOR_TO_EMAIL"].ToString();
           String adminDisplayName =
ConfigurationManager.AppSettings["ADMIN_DISPLAY_NAME"].ToString();
           String subject =
ConfigurationManager.AppSettings["SUBMIT_SUBJECT"].ToString();
           string adminFromEmail =
ConfigurationManager.AppSettings["ADMINISTRATOR_FROM_EMAIL"].ToString();
           String successMessage =
ConfigurationManager.AppSettings["SUBMIT_MAIL_SUCCESS"].ToString();
           String failureMessage =
ConfigurationManager.AppSettings["SUBMIT_MAIL_FAILED"].ToString();
           try
           {
               String FilePath = String.Empty;
               if (FileUpload1.HasFile)
               {
                   try
                   {
                       string filename = FileUpload1.FileName;
                       string filename1 = filename.Substring(0,
filename.LastIndexOf("."));
                       string ext =
filename.Substring(filename.LastIndexOf(".") + 1);
                       filename = filename1 +
Guid.NewGuid().ToString() + "." + ext;
                       FilePath =
Server.MapPath("~/EmailAttachments/") + filename;
                       FileUpload1.SaveAs(FilePath);
                       StatusLabel.Text = "Upload status  File uploaded";
                   }


                   catch (Exception ex)
                   {
                       StatusLabel.Text = "Upload status  The file
could not be uploaded. The following error occured: " + ex.Message;
                   }
               }
               NetworkCredential basicAuthenticationInfo = new
NetworkCredential(MailUserName, MailPassword);
               MailMessage mail = new MailMessage();
               SmtpClient SmtpServer = new SmtpClient(SMTPServerName);
               mail.From = new MailAddress(adminFromEmail, adminDisplayName);
               mail.Subject = subject;
               mail.To.Add(new MailAddress(txtEmail.Text));
               if (FilePath != String.Empty)
               {
                   mail.Attachments.Add(new Attachment(FilePath));
               }
               String mailBody =
System.IO.File.ReadAllText(ConfigurationManager.AppSettings["SUBMIT_TEMPLATE_PATH"].ToString());
               mail.Body = mailBody;
               mail.IsBodyHtml = true;
               mail.DeliveryNotificationOptions =
DeliveryNotificationOptions.OnFailure;
               SmtpServer.Credentials = basicAuthenticationInfo;
               SmtpServer.UseDefaultCredentials = false;
               SmtpServer.Send(mail);
               ClientScript.RegisterStartupScript(this.GetType(),
"myalert", "alert('" + successMessage + "');", true);
               txtEmail.Text = "Enter your email address";


           }
           catch (Exception ex)
           {
               string exmsg = ex.Message;
               ClientScript.RegisterStartupScript(this.GetType(),
"myalert", "alert('" + failureMessage + "');", true);
           }
       }


   }
}

No comments:

Post a Comment