.NET Framework Developer Center > Fóruns do .NET Development > .NET Development - Geral > Como Utilizar Variáveis no mailto com linguagem c#?
Fazer uma PerguntaFazer uma Pergunta
 

RespondidoComo Utilizar Variáveis no mailto com linguagem c#?

  • quinta-feira, 29 de outubro de 2009 18:22LeandroMaciel Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Bom pessoal,

    Tenho um aplicativo em c# e preciso enviar e-mail por ele, estou utilizando o seguinte comando:

    void BTNEnviarClick(object sender, EventArgs e)
      {
       
       string para, assunto, situacao;
       
       para = textBoxPara.Text;
       assunto = textBoxAssunto.Text;
       situacao = textBoxBody.Text;
       
       System.Diagnostics.Process.Start("mailto:para?Subject=assunto&Body=situacao");
    }


    está funcionando perfeitamente, porém não consigo fazer com que ele entenda as minhas variáveis para, assunto e situacao.

    Como posso resolver isto?

Respostas

  • sexta-feira, 30 de outubro de 2009 21:55LeandroMaciel Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Obrigado pelo auxilio quintelab, encontrei uma solução mais fácil também com concatenação de strings, porém numa única linha do código, concatenado diretamente as variáveis da seguinte forma:


           System.Diagnostics.Process.Start("mailto:" +para+ "?Subject=" +assunto+ "&Body=" +situacao);

    Valeu pela dica.
    • Marcado como RespostaLeandroMaciel sexta-feira, 30 de outubro de 2009 21:57
    •  
  • sexta-feira, 30 de outubro de 2009 21:57LeandroMaciel Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Obrigado pelo auxilio marcos alves, encontrei uma solução fácil com concatenação de strings, em uma única linha do código concateno diretamente as variáveis da seguinte forma:


           System.Diagnostics.Process.Start("mailto:" +para+ "?Subject=" +assunto+ "&Body=" +situacao);


    Valeu pela dica.
    • Marcado como RespostaLeandroMaciel sexta-feira, 30 de outubro de 2009 21:57
    •  

Todas as Respostas

  • quinta-feira, 29 de outubro de 2009 18:30quintelab Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Contém Código
    Você deve concatenar elas com sua string:

    string suaVariavel = string.format("mailto:{0}?Subject={1}&Body={2}", para, assunto, situacao);
    System.Diagnostics.Process.Start(suaVariavel);
    
    Abraços...
  • sexta-feira, 30 de outubro de 2009 14:12marcos alves Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Boas,
    Não sei se é isso que voce pretende.
    O mailto irá abrir o programa de email "por defeito" na máquina. por exemplo se for o outlook irá abrir o outlook e for outro irá abrir esse.
    No entanto o mailto tem restrições sobre os parametros que podem ser passados pois alguns depende do programa em questão (outlook aceita uns mas outros programas não, como por exemplo anexos)

    Não seria melhor enviar o email pela aplicação mesmo?


    Abraços
    http://marcoscavaleiro.blogspot.com
  • sexta-feira, 30 de outubro de 2009 21:55LeandroMaciel Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Obrigado pelo auxilio quintelab, encontrei uma solução mais fácil também com concatenação de strings, porém numa única linha do código, concatenado diretamente as variáveis da seguinte forma:


           System.Diagnostics.Process.Start("mailto:" +para+ "?Subject=" +assunto+ "&Body=" +situacao);

    Valeu pela dica.
    • Marcado como RespostaLeandroMaciel sexta-feira, 30 de outubro de 2009 21:57
    •  
  • sexta-feira, 30 de outubro de 2009 21:57LeandroMaciel Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Obrigado pelo auxilio marcos alves, encontrei uma solução fácil com concatenação de strings, em uma única linha do código concateno diretamente as variáveis da seguinte forma:


           System.Diagnostics.Process.Start("mailto:" +para+ "?Subject=" +assunto+ "&Body=" +situacao);


    Valeu pela dica.
    • Marcado como RespostaLeandroMaciel sexta-feira, 30 de outubro de 2009 21:57
    •  
  • terça-feira, 3 de novembro de 2009 15:56quintelab Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Leandro, cuidado que isso abre a vulnerabilidade do usuário inserir código malicioso no seu sistema.

    Abraços...