none
System.Diagnostics.Process (enviando e-mails pelo outlook) RRS feed

  • Pergunta

  •        Olá, boa tarde!

    Olhem o código abaixo, e notem que estou instanciando  o outlook ou gerenciador de email padrão do cliente para enviar um email...
    A pergunta é, tem como fazer isso silenciosamente, ou seja, sem abrir a janela do outlook? Enviando direto para a caixa de saída...


               string filename = "mailto:teste@teste.com.br?subject=Hello&boby=Hello";
                Process myProcess = new Process();
                myProcess.StartInfo.FileName = filename;
                myProcess.StartInfo.UseShellExecute = true;
                myProcess.StartInfo.RedirectStandardOutput = false;
                //myProcess.StartInfo.CreateNoWindow = true;
                myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
               
                myProcess.Start();
    quinta-feira, 18 de fevereiro de 2010 18:39

Respostas

  • Cara, foi sofrido, hein:

    primeiro adicione referencia a:

    Microsoft.Office.Interop.Outlook

                Application app = new Microsoft.Office.Interop.Outlook.Application();
    
                MailItem item = (MailItem)app.CreateItem(OlItemType.olMailItem);
                item.To = "email@email.com";
                item.Subject = "assunto";
                item.Body = "quency";
    
                item.Send();
    Tenta ai e me diz se funcionou

    Gustavo Rocha, MCTS, MCPD, CSM, Arquiteto de Software - http://subindoaladeira.wordpress.com/
    quinta-feira, 18 de fevereiro de 2010 22:30

Todas as Respostas

  • é que assim, vc ta realmente startando o progrma padraopra envio de email. Nao é isso que voce precisa.
    O que vc precisa é enviar diretamente:

    MailMessage mail = new MailMessage();

    mail.To = txtTo.Text;

    mail.From = txtFrom.Text;

    mail.Subject = txtSubject.Text;

    mail.Body = txtBody.Text;

    SmtpMail.SmtpServer = "localhost";

    SmtpMail.Send(mail);


    Gustavo Rocha, MCTS, MCPD, CSM, Arquiteto de Software - http://subindoaladeira.wordpress.com/
    quinta-feira, 18 de fevereiro de 2010 19:05
  • Fala cara! Neste caso o cliente QUER que seja utilizado o oultook mesmo... entende?

    Tem jeito?

    quinta-feira, 18 de fevereiro de 2010 19:18
  • ahh tem que ficar na caixa de saida, ne.
    mas nao pode aparecer?

    caramba. vou tentar algo aqui. ja tem mando uma resposta. seja boa ou nao. rs
    Gustavo Rocha, MCTS, MCPD, CSM, Arquiteto de Software - http://subindoaladeira.wordpress.com/
    quinta-feira, 18 de fevereiro de 2010 20:09
  • Cara, foi sofrido, hein:

    primeiro adicione referencia a:

    Microsoft.Office.Interop.Outlook

                Application app = new Microsoft.Office.Interop.Outlook.Application();
    
                MailItem item = (MailItem)app.CreateItem(OlItemType.olMailItem);
                item.To = "email@email.com";
                item.Subject = "assunto";
                item.Body = "quency";
    
                item.Send();
    Tenta ai e me diz se funcionou

    Gustavo Rocha, MCTS, MCPD, CSM, Arquiteto de Software - http://subindoaladeira.wordpress.com/
    quinta-feira, 18 de fevereiro de 2010 22:30
  • beleza Gustavo!! Deu certinho... Valeu!!
    sexta-feira, 19 de fevereiro de 2010 10:38