protected void btnSubmit_Click(object sender, EventArgs e) { try { string title = txtTitle.Text; string content = txtMessage.Text; List <string> customerEmails = getCustomerList(); string emailContent = content; EmailClass emailClass = new EmailClass(customerEmails, title, emailContent, false);// change false to true if (EmailClass.isCredentialed()) { EmailCredential credential = (EmailCredential)Session["EmailCredential"]; emailClass.sendEmail(credential); } else { Session["tempEmail"] = emailClass; Response.Redirect(ResolveUrl("~/Staff/VerifyEmail.aspx?ReturnURL=" + Request.Url.AbsoluteUri)); } } catch (Exception ex) { Response.Write("<script LANGUAGE='JavaScript' >alert('Error occur when sending email: " + ex.Message + "')</script>"); } }
protected void btnSubmit_Click(object sender, EventArgs e) { string email = txtEmail.Text; string password = txtPassword.Text; int abc = ddlEmailProvider.SelectedIndex; if (Session["tempEmail"] != null) { EmailClass emailClass = (EmailClass)Session["tempEmail"]; try { EmailCredential emailCredential = new EmailCredential(new NetworkCredential(email, password), EmailClass.getStmpClient(ddlEmailProvider.SelectedValue)); emailClass.sendEmail(emailCredential); EmailClass.generateCredential(email, password, EmailClass.getStmpClient(ddlEmailProvider.SelectedValue)); string url = Request.QueryString["ReturnUrl"]; Response.Write(" <script language = 'javascript'> window.alert('Email has been sent. Redirecting previous page.'); window.location = '" + url + "';</script>"); } catch (SmtpFailedRecipientsException stmpRecipientsException) { lblError.Text = "Email failed to send to " + stmpRecipientsException.FailedRecipient; } catch (SmtpException smtpException) { lblError.Text = "The email or password might typed wrong or " + smtpException.Message; } } else { lblError.Text = "There is no email to be send, credential is not created."; } }
private void AddBinding() { //Bindings _kernel.Bind <IProductRepository>().To <ProductRepository>(); EmailCredential emailCredential = GetCredentialFromConfig(); _kernel.Bind <IOrderHandler>().To <OrderHandler>() .WithConstructorArgument("credential", emailCredential); }
private EmailCredential GetCredentialsFromConfig() { EmailCredential credential = new EmailCredential { Host = ConfigurationManager.AppSettings["email.credentials.host"], Password = ConfigurationManager.AppSettings["email.credentials.pass"], Port = int.Parse(ConfigurationManager.AppSettings["email.credentials.port"]), UseSsl = bool.Parse(ConfigurationManager.AppSettings["email.credentials.ssl"]), Username = ConfigurationManager.AppSettings["email.credentials.user"], Email = ConfigurationManager.AppSettings["email.credentials.email"] }; return(credential); }
public static void SaveEmail(EmailAccountModel _email, out string message) { try { message = ""; using (var db = new SLVLOnlineEntities()) { var email = db.EmailCredential.FirstOrDefault(r => r.ID != null); if (email == null) { EmailCredential newEmail = new EmailCredential { ID = Guid.NewGuid(), Email = _email.Email, Password = _email.Password }; db.Entry(newEmail).State = EntityState.Added; } else { _email.Password = _email.Password; _email.Email = _email.Email; db.Entry(_email).State = EntityState.Modified; } db.SaveChanges(); } } catch (Exception error) { message = error.Message; } }
private void button_Send_Click(object sender, EventArgs e) { EmailCredential emailCredential = new EmailCredential(); emailCredential.SmtpPort = int.Parse(textBox_ServerPort.Text); emailCredential.SmtpServer = textBox_Server.Text; emailCredential.LoginName = textBox_UserName.Text; emailCredential.Password = textBox_Password.Text; EmailHelperModel model = new EmailHelperModel(); model.SenderEmail = textBox_Sender.Text; model.SenderName = textBox_Sender.Text; model.ToList.Add(textBox_To.Text); model.Title = textBox_MailTitle.Text; model.Content = textBox_Body.Text; model.AttachedFiles.Add(@"E:\Downloads\China High-speed Railway Lines Network.jpg"); model.IsBodyHtml = true; model.SendCompletedCallbackEvent += new SendCompletedCallbackEventDelegate(SendCallback); model.CallbackData = "123456"; EmailHelper.SendAsync(emailCredential, model); //using (EmailHelper emailHelper = new EmailHelper(emailCredential)) //{ // emailHelper.SendAsync(model); //} //EmailHelper emailHelper = new EmailHelper(int.Parse(textBox_ServerPort.Text), textBox_Server.Text, textBox_UserName.Text, textBox_Password.Text); //emailHelper.Send( // textBox_Sender.Text, // textBox_Sender.Text, // new List<string>() { textBox_To.Text }, // null, // textBox_MailTitle.Text, // new List<string>() { @"E:\Downloads\China High-speed Railway Lines Network.jpg" }, // textBox_Body.Text); }
public void SendMail(string subject, string body, string emailTo) { SmtpClient client = null; EmailCredential credential = GetCredentialsFromConfig(); MailMessage mailToClient = new MailMessage(credential.Email, emailTo) { Body = body, Subject = subject, IsBodyHtml = true }; try { client = new SmtpClient(credential.Host, credential.Port) { EnableSsl = credential.UseSsl, UseDefaultCredentials = false, DeliveryMethod = SmtpDeliveryMethod.Network }; client.ServicePoint.MaxIdleTime = 1; client.Credentials = new NetworkCredential(credential.Username, credential.Password); client.Send(mailToClient); } catch (SmtpException exc) { //Add logging } finally { if (client != null) { client.Dispose(); } } }
private void sendNotification(string requestlistID) { DataTable result = null; try { using (SqlConnection conPrintDB = new SqlConnection(ConfigurationManager.ConnectionStrings["printDBServer"].ConnectionString)) { string strSelect = "Select CustomerEmail, CustomerPhoneNo, CustomerContactMethod, CompanyName From Customer c, Request r, Requestlist rl, Company cp WHERE rl.RequestID = r.RequestID AND r.CustomerID = c.CustomerID AND r.CompanyID = cp.CompanyID AND rl.RequestlistID = @requestlistID"; using (SqlCommand cmdSelect = new SqlCommand(strSelect, conPrintDB)) { cmdSelect.Parameters.AddWithValue("@requestlistID", requestlistID); using (SqlDataAdapter da = new SqlDataAdapter(cmdSelect)) { result = new DataTable(); da.Fill(result); } //return new User((string)result.Rows[0]["ID"], (string)result.Rows[0]["Name"], GetUserRoles(username, loginType), (string)result.Rows[0]["Email"]); string contactNo = (string)result.Rows[0]["CustomerPhoneNo"]; string email = (string)result.Rows[0]["CustomerEmail"]; string contactMethod = (string)result.Rows[0]["CustomerContactMethod"]; string companyName = (string)result.Rows[0]["CompanyName"]; switch (contactMethod) { case "whatsapp": WhatappClass.sendWhatsappWithURL(contactNo, "Your Document is Printed and Ready", Response); break; case "wechat": case "E-mail": string emailContent = EmailClass.populateNotificationEmail(companyName);// content of the email EmailClass emailClass = new EmailClass(email, "Document is Printed and Ready", emailContent, true); if (EmailClass.isCredentialed()) { EmailCredential credential = (EmailCredential)Session["EmailCredential"]; emailClass.sendEmail(credential); } else { Session["tempEmail"] = emailClass; Response.Redirect(ResolveUrl("~/Staff/VerifyEmail.aspx?ReturnURL=" + Request.Url.AbsoluteUri)); } break; case "SMS": break; default: break; } } } } catch (Exception ex) { throw new Exception(ex.ToString()); } }
/// <summary> /// 发送邮件 /// </summary> /// <param name="host">smtp地址</param> /// <param name="port">端口</param> /// <param name="username">用户名 </param> /// <param name="password">密码</param> /// <param name="mail">邮件体</param> /// <param name="credential">认证方式</param> private static void SendEmail(string host, int port, string username, string password, MailMessage mail, EmailCredential credential, int timeout) { SmtpClient smtpClient = new SmtpClient(); smtpClient.Timeout = timeout; if (host != null && host.Length > 0) { smtpClient.Host = host; } smtpClient.Port = port; smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; if (credential == EmailCredential.PassWordCredentials) { smtpClient.Credentials = new System.Net.NetworkCredential(username, password); } else { smtpClient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; } smtpClient.Send(mail); }
/// <summary> /// Create or update provider credential /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='apiVersion'> /// </param> /// <param name='credential'> /// Credential /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <EmailCredential> CreateOrUpdateCredentialAsync(this IEmailOperations operations, string apiVersion, EmailCredential credential, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.CreateOrUpdateCredentialWithHttpMessagesAsync(apiVersion, credential, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Create or update provider credential /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='apiVersion'> /// </param> /// <param name='credential'> /// Credential /// </param> public static EmailCredential CreateOrUpdateCredential(this IEmailOperations operations, string apiVersion, EmailCredential credential) { return(operations.CreateOrUpdateCredentialAsync(apiVersion, credential).GetAwaiter().GetResult()); }
public EnviarEmail() { credential = new EmailCredential(); }
protected void btnSubmit_Click(object sender, EventArgs e) { SqlConnection conPrintDB; string connStr = ConfigurationManager.ConnectionStrings["printDBServer"].ConnectionString; conPrintDB = new SqlConnection(connStr); conPrintDB.Open(); try { string strInsert; SqlCommand cmdInsert; strInsert = "Insert Into CompanyStaff (StaffName, StaffEmail, StaffPassword, StaffNRIC, StaffDOB, StaffPhoneNo, StaffSalt, StaffRole, CompanyID) Values (@staffName, @staffEmail,@staffPassword, @staffNRIC, @staffDOB, @staffPhoneNo, @staffSalt, @staffRole, @companayID); SELECT MAX(StaffID) from CompanyStaff where StaffName=@staffName and StaffPhoneNo=@staffPhoneNo"; byte[] generatedSalt = ClassHashing.generateSalt(); byte[] hashPassword = { 0, 0 };//empty password when checkbox for password setting is not checked if (chkPassSet.Checked) { hashPassword = ClassHashing.generateSaltedHash(txtPassword.Text, generatedSalt); } cmdInsert = new SqlCommand(strInsert, conPrintDB); cmdInsert.Parameters.AddWithValue("@staffName", txtName.Text); cmdInsert.Parameters.AddWithValue("@staffEmail", txtEmail.Text); cmdInsert.Parameters.AddWithValue("@staffPassword", hashPassword); cmdInsert.Parameters.AddWithValue("@staffNRIC", txtNRIC.Text); cmdInsert.Parameters.AddWithValue("@staffDOB", cldBOD.SelectedDate); cmdInsert.Parameters.AddWithValue("@staffPhoneNo", txtPhoneNo.Text); cmdInsert.Parameters.AddWithValue("@staffSalt", generatedSalt); cmdInsert.Parameters.AddWithValue("@staffRole", UserVerification.ROLE_STAFF); cmdInsert.Parameters.AddWithValue("@companayID", Request.Cookies["CompanyID"].Value); var staffID = cmdInsert.ExecuteScalar(); if (!chkPassSet.Checked) { string strSelect = "SELECT CompanyName FROM Company WHERE CompanyID = @companyID"; SqlCommand cmdSelect = new SqlCommand(strSelect, conPrintDB); cmdSelect.Parameters.AddWithValue("@companyID", Request.Cookies["CompanyID"].Value); var companyName = cmdSelect.ExecuteScalar(); string verificationCode = UserVerification.getVerificationCode(staffID + txtNRIC.Text, generatedSalt); //then it will generate a url to activate the account and send it to the staff string verificationLink = DOMAIN_NAME + Page.ResolveUrl("~/StaffAccountActivation.aspx?VC=" + HttpUtility.UrlEncode(verificationCode)); string emailContent = EmailClass.populateActivationEmail((string)companyName, verificationLink);// content of the email EmailClass emailClass = new EmailClass(txtEmail.Text, "Staff Account Activation", emailContent, true); if (EmailClass.isCredentialed()) { EmailCredential credential = (EmailCredential)Session["EmailCredential"]; emailClass.sendEmail(credential); } else { Session["tempEmail"] = emailClass; Response.Redirect(ResolveUrl("~/Staff/VerifyEmail.aspx?ReturnURL=" + Request.Url.AbsoluteUri)); } } lblError.Text = "Successfully added"; } catch (Exception ex) { lblError.Text = "An error occured when register staff :" + ex.ToString(); } finally { conPrintDB.Close(); } }
public EnviarEmailWithCredentials() { credential = new EmailCredential(); }