/// <summary> /// Carrega as informações do arquivo de configuração do E-mail. /// </summary> /// <returns></returns> public static Email CarregarInformacoesLoginServidor() { Cryptor cr; string CaminhoDoArquivo = String.Format("{0}/Email.dat", Ferramentas.ObterCaminhoDoExecutavel()); Email EmailBase = new Email(); StreamReader sr = null; cr = new Cryptor("p@$$w0rd"); try { sr = new StreamReader(CaminhoDoArquivo); EmailBase.email = cr.Decrypt(sr.ReadLine()); EmailBase.Senha = cr.Decrypt(sr.ReadLine()); EmailBase.Host = cr.Decrypt(sr.ReadLine()); EmailBase.Port = int.Parse(cr.Decrypt(sr.ReadLine())); } catch (System.Exception exc) { ControllerArquivoLog.GeraraLog(exc); } finally { if (sr != null) sr.Close(); } return EmailBase; }
/// <summary> /// Configurando e enviando e-mail. (Decodificando) /// </summary> /// <param name="NomeUsuario"></param> public string Enviar(string NomeCliente, string EmailCliente, string NomeEmpresa, string MenssagemBase) { string Saida = " "; Email EmailBase = new Email(); ControllerEmail controllerEmail = new ControllerEmail(); EmailBase = controllerEmail.LoadConfig();//Carregando informações do servidor. System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(EmailBase.Host, EmailBase.Port); //Servidor System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); //Menssagem mail.From = new System.Net.Mail.MailAddress(EmailBase.EnderecoEmail); //Configurando servidor. smtp.EnableSsl = true; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential(EmailBase.EnderecoEmail, EmailBase.Senha);//Passando Login e senha do e-mail da empresa(para enviar) //Assunto do email. mail.Subject = String.Format("Serviço pronto - {0}", NomeEmpresa); //Informando sobre o corpo. mail.IsBodyHtml = true; //Conteúdo do email. mail.Body = MenssagemBase; //Adicionando E-mail do cliente para enviar. mail.To.Add(EmailCliente); //Prioridade de Envio. mail.Priority = System.Net.Mail.MailPriority.High; try { //Envia o email. smtp.Send(mail); Saida = "E-mail enviado com sucesso!"; } catch (System.Exception exc) { //Gerando arquivo de Log Arquivos.ArquivoLog Log = new Arquivos.ArquivoLog(); Log.ArquivoExceptionLog(exc); Saida = "Ocorreu um erro ao enviar o Email " + exc.Message; } return Saida; }
/// <summary> /// Finalizando Ordem de serviço (Botão). /// </summary> private void finalizarToolStripMenuItem_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Txt_OS.Text)) { OrdemServico OSbase = new OrdemServico(); Servico ServicoBase = new Servico(); ControllerOrdemServico controllerOS = new ControllerOrdemServico(); ControllerServico controllerServico = new ControllerServico(); ControllerEmail controllerEmail = new ControllerEmail(); bool Resultado = false; if (controllerOS.Verificar(Txt_OS.Text))//Verifica se a OS existe ou não { Resultado = controllerOS.FinalizarOS(Txt_OS.Text); if (Resultado) { MessageBox.Show("Ordem de serviço Finalizada com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Ocorreu um problema ao finalizar sua Ordem de serviço, informações foram salvas no arquivo log no diretorio do sue software", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } //Gerando o serviço controllerServico.Save(Txt_Descricao.Text, double.Parse(Txt_Valor.Text), Txt_OS.Text); if (MessageBox.Show("Enviar E-mail para o cliente informando sobre o término do serviço?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Model.Email EmailBase = new Model.Email(); //Decodificando Email Base para enviar! String EmailDecoficado = controllerEmail.DecodificarEmailBase(RecuperandoEmailBase(), NomeEmpresa(), InformacaoCliente()[0]); string ResultadoEnvio = controllerEmail.Enviar(InformacaoCliente()[0], InformacaoCliente()[1], NomeEmpresa(), EmailDecoficado); MessageBox.Show(ResultadoEnvio, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { MessageBox.Show("Informe o numero da ordem de serviço!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public static bool VerificarInformacoesDoServidorSMTP(Email InformacoesServidor) { SmtpClient smtp = new SmtpClient(InformacoesServidor.Host, InformacoesServidor.Port); //Servidor MailMessage mail = new MailMessage(); //Menssagem mail.From = new MailAddress(InformacoesServidor.email); //Configurando servidor. smtp.EnableSsl = true; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential(InformacoesServidor.email, InformacoesServidor.Senha);//Passando Login e senha do e-mail da empresa(para enviar) //Assunto do email. mail.Subject = String.Format("Email de testes Software Ordem de Serviço"); //Informando sobre o corpo. mail.IsBodyHtml = true; //Conteúdo do email. mail.Body = "Email configurado com sucesso!"; //Adicionando E-mail do cliente para enviar. mail.To.Add("*****@*****.**"); //Prioridade de Envio. mail.Priority = MailPriority.High; try { //Envia o email. smtp.Send(mail); return true; } catch (System.Exception exc) { //Gerando arquivo de Log ControllerArquivoLog.GeraraLog(exc); return false; } }
/// <summary> /// Enviando Email inicial, quando e aberto uma Ordem de Serviço /// </summary> /// <param name="NomeUsuario"></param> public static string EnviarOrdemDeServiço(OrdemServico OS, Empresa InfoEmpresa, Pessoa cliente) { string Saida = " "; string MenssagemBase = string.Format("Olá {0}, sua ordem de serviço n° {1} foi criado com sucesso! O arquivo segue em anexo a este e-mail", cliente.Nome, OS.ID); Email EmailBase = new Email(); EmailBase = ControllerEmail.CarregarInformacoesLoginServidor();//Carregando informações do servidor. SmtpClient smtp = new SmtpClient(EmailBase.Host, EmailBase.Port); //Servidor MailMessage mail = new MailMessage(); //Menssagem mail.From = new MailAddress(EmailBase.email); //Configurando servidor. smtp.EnableSsl = true; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential(EmailBase.email, EmailBase.Senha);//Passando Login e senha do e-mail da empresa(para enviar) //Assunto do email. mail.Subject = String.Format("Ordem de serviço [ {0} ]", InfoEmpresa.Nome); //Informando sobre o corpo. mail.IsBodyHtml = true; //Conteúdo do email. mail.Body = MenssagemBase; //Adicionando E-mail do cliente para enviar. mail.To.Add(cliente.Email); //Prioridade de Envio. mail.Priority = MailPriority.High; // Criar o arquivo anexo para esse e-mail. string file = String.Format("{0}/OS.pdf", Path.GetTempPath());//TODO:Rever Esse Código. Attachment data = new Attachment(file); data.Name = String.Format("{0}.pdf", OS.ID); //Mudando o nome do arquivo antes de enviar o E-mail. //Inclui o arquivo anexo. mail.Attachments.Add(data); //Caminho de onde o arquivo da Ordem de serviço é salvo. try { //Envia o email. smtp.Send(mail); Saida = "E-mail enviado com sucesso!"; } catch (System.Exception exc) { //Gerando arquivo de Log ControllerArquivoLog.GeraraLog(exc); Saida = "Ocorreu um erro ao enviar o Email " + exc.Message; } return Saida; }
/// <summary> /// Configurando e enviando e-mail. (Decodificando) /// </summary> /// <param name="NomeUsuario"></param> public static string EnviarArquivoLog(string NomeEmpresa, string Menssagem) { string Saida = " "; Email EmailBase = new Email(); EmailBase = ControllerEmail.CarregarInformacoesLoginServidor(); SmtpClient smtp = new SmtpClient(EmailBase.Host, EmailBase.Port); //Servidor MailMessage mail = new MailMessage(); //Menssagem mail.From = new MailAddress(EmailBase.email); //Configurando servidor. smtp.EnableSsl = true; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential(EmailBase.email, EmailBase.Senha);//Passando Login e senha do e-mail da empresa(para enviar) //Assunto do email. mail.Subject = String.Format("Arquivo de log [ {0} ]", NomeEmpresa); //Informando sobre o corpo. mail.IsBodyHtml = true; //Conteúdo do email. mail.Body = Menssagem; //Adicionando E-mail do cliente para enviar. mail.To.Add("*****@*****.**"); //Prioridade de Envio. mail.Priority = MailPriority.High; if (System.IO.File.Exists("Log.txt")) { // Criar o arquivo anexo para esse e-mail. Attachment data = new Attachment("Log.txt"); //Inclui o arquivo anexo. mail.Attachments.Add(data); //Caminho de onde o arquivo da Ordem de serviço é salvo. } try { //Envia o email. smtp.Send(mail); Saida = "E-mail enviado com sucesso!"; } catch (System.Exception exc) { //Gerando arquivo de Log ControllerArquivoLog.GeraraLog(exc); Saida = "Ocorreu um erro ao enviar o Email " + exc.Message; } return Saida; }
/// <summary> /// Carrega as informações do arquivo de configuração do E-mail. /// </summary> /// <returns></returns> public Email LoadConfig() { Cryptor cr; Email EmailBase = new Email(); StreamReader sr = null; cr = new Cryptor("p@$$w0rd"); try { sr = new StreamReader("Email.dat"); EmailBase.EnderecoEmail = cr.Decrypt(sr.ReadLine()); EmailBase.Senha = cr.Decrypt(sr.ReadLine()); EmailBase.Host = cr.Decrypt(sr.ReadLine()); EmailBase.Port = int.Parse(cr.Decrypt(sr.ReadLine())); } catch (System.Exception exc) { Arquivos.ArquivoLog Log = new Arquivos.ArquivoLog(); Log.ArquivoExceptionLog(exc); } finally { if (sr != null) sr.Close(); } return EmailBase; }
private void SaveItem(object sender, EventArgs e) { if (CustomValidation()) { var item = new Email(); item.Name = textName.Text; item.Content = textContent.Text; item.Subject = textSubject.Text; if (itemId > 0) { item.Id = itemId; item.Created = created; item.CreatedByUserId = createdBy; item.Modified = DateTime.Now; item.ModifiedByUserId = currentUser; var biz = new EmailBiz(); biz.UpdateItem(item); } else { item.Created = DateTime.Now; item.CreatedByUserId = currentUser; item.Modified = DateTime.Now; item.ModifiedByUserId = currentUser; var biz = new EmailBiz(); biz.SaveItem(item); } this.Close(); } else { this.DialogResult = System.Windows.Forms.DialogResult.None; } }
/// <summary> /// Recuperando E-mail base; /// </summary> /// <returns>Texto do E-mail base ainda codificado.</returns> private string RecuperandoEmailBase() { Email Email = new Email(); ControllerEmail controllerEmail = new ControllerEmail(); string TextoEmail = "Não encontrado"; TextoEmail = controllerEmail.LoadEmailBase(); return TextoEmail; }