Quantcast
Viewing latest article 2
Browse Latest Browse All 9

Re: Emails being sent to strange recipients

privatevoidDoReminderJob(){try{string connectionString =ConfigurationManager.ConnectionStrings["UpdateDetailsConnectionString"].ConnectionString;//This query will fetch users that should be reminded for membership renewal//Remind each month (as long as the status is active) start from 1 month before due datestring com ="SELECT UserProfiles.UserId,DateLastPaid,FirstName,SurName,IsApproved FROM UserProfiles INNER JOIN dbo.aspnet_Membership ON dbo.UserProfiles.UserId = dbo.aspnet_Membership.UserId WHERE  DATEDIFF(MONTH, DateLastPaid,GETDATE()) = 11 AND (DateLastReminder is null OR DATEDIFF(DAY, DateLastReminder,GETDATE()) > 31) AND aspnet_Membership.IsApproved=1";using(var myConnection =newSqlConnection(connectionString)){
                myConnection.Open();var ta =newSqlDataAdapter();var myCommand =newSqlCommand(com, myConnection);
                ta.SelectCommand= myCommand;
                ta.SelectCommand.CommandType=CommandType.Text;var ds =newDataSet();
                ta.Fill(ds);//Prepare the template mailstringtemplate=null;if(ds.Tables[0].Rows.Count>0){using(var sr =newStreamReader(Server.MapPath("~/MailTemplates/EmailReminder.html"),Encoding.UTF8)){template= sr.ReadToEnd();}}foreach(DataRow reader in ds.Tables[0].Rows){Guid userId =Guid.Parse(reader[0].ToString());DateTime lastDatePaid =Convert.ToDateTime(reader[1]);string firstName = reader[2].ToString();string surName = reader[3].ToString();string email =Membership.GetUser(userId).Email;// Define name/value pairs to be replaced.var replacements =newDictionary<string,string>();
                    replacements.Add("##FirstName##", firstName);
                    replacements.Add("##DueDate##", lastDatePaid.AddYears(1).ToShortDateString());// Replace template with parameters
string body = template;foreach(var replacement in replacements){ body= body.Replace(replacement.Key, replacement.Value);}//Send the emailvar newMail =newMail(); newMail.FromDisplayName="CYCANL Admin"; newMail.From="XXXXX@cycanl.ca"; newMail.SendMail(new[]{ email },"Membership Renewal Reminder", body);//Update last reminder datestring com2 ="UPDATE UserProfiles SET DateLastReminder=getdate() WHERE UserId=@UserId";var myCommand2 =newSqlCommand(com2, myConnection); myCommand2.Parameters.Clear(); myCommand2.Parameters.AddWithValue("@UserId", userId); myCommand2.ExecuteNonQuery();//Log reminderLogReminders(firstName, surName, email, lastDatePaid);} myConnection.Close();}}catch(Exception ex){Logger.Log(ex,"Email Reminder");}}

Viewing latest article 2
Browse Latest Browse All 9

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>