none
Envio de email com anexo em PDF está enviando um arquivo .dat RRS feed

  • Pergunta

  • Pessoal,

    Estou com o seguinte problema:

    Tenho uma rotina de envio de email que envia junto a mensagem um anexo em PDF.

    Ocorre que estava funcionando perfeitamente, porem agora o email é enviado so que no lugar do PDF vai um arquivo com extensão .dat (=_utf-8_B_UkVMQVTDk1JJTyBBTsOBTElTRSBERSBW.dat).

    Alguém sabe o que é isto?

    Segue meu código:

    SmtpClient client = new SmtpClient(_ParametrosSistema.ObterParametros().EmailSmtp);


    MailAddress from = new MailAddress(_ParametrosSistema.ObterParametros().EmailBox, _ParametrosSistema.ObterParametros().EmailName);
    MailAddress to = new MailAddress(txtPara.Text);


    MailMessage message = new MailMessage(from, to);


    if (!txtCopia.Text.Equals(string.Empty))
    {
        MailAddress copia = new MailAddress(txtCopia.Text);
        message.Bcc.Add(copia);
    }


    message.IsBodyHtml = true;
    message.Body = m_corpo;
    message.BodyEncoding = System.Text.Encoding.UTF8;
    message.Subject = txtSubject.Text;
    message.SubjectEncoding = System.Text.Encoding.UTF8;
    Attachment arq = new Attachment(m_arquivo);
    message.Attachments.Add(arq);


    client.Timeout = 300000;
    client.Credentials = new NetworkCredential(_ParametrosSistema.ObterParametros().EmailBox, _ParametrosSistema.ObterParametros().EmailPassword);
    client.EnableSsl = _ParametrosSistema.ObterParametros().EmailEnableSsp.ToUpper() == "TRUE" ? true : false;


    int m_port = int.Parse(_ParametrosSistema.ObterParametros().EmailPort);
    if (m_port != int.MinValue)
        client.Port = m_port;
    try
    {
        client.Send(message);
        client.Dispose();
        Resultado result = new Resultado(true, "E-mail enviado com sucesso");
        ApresentarMensagemOperacao(result);
        this.Close();
    }
    catch (SmtpException erro)
    {
        Resultado result = new Resultado();
        result.Sucesso = false;
        result.TipoResultado = TipoResultado.ErroExecucao;
        result.ErroExecucao.ErroBanco = false;
        result.ErroExecucao.Excecao = erro;
        result.ErroExecucao.Mensagem = "Erro no envio do e-mail" + Environment.NewLine + erro.Message;
        ApresentarMensagemOperacao(result);
    }
    catch (Exception erro)
    {
        Resultado result = new Resultado();
        result.Sucesso = false;
        result.TipoResultado = TipoResultado.ErroExecucao;
        result.ErroExecucao.ErroBanco = false;
        result.ErroExecucao.Excecao = erro;
        result.ErroExecucao.Mensagem = "Erro no envio do e-mail";
        ApresentarMensagemOperacao(result);
    }
    finally
    {
        arq.ContentStream.Close();
    }

    sexta-feira, 16 de março de 2012 16:50

Respostas

Todas as Respostas

  • Pessoal,

    Achei o problema.

    Ao fazer o "message.Attachments.Add(arq); " arq estava com caracteres especiais.

    Obrigado.

    Adenilson

    sexta-feira, 16 de março de 2012 18:05
  • Adenilson,

    Acredito que você tenha mais conhecimento no assunto do que eu.  Tenho um sistema de administração hoteleira que também dispara um e-mail após a confirmação de uma reserva, e alguns, não todos os clientes, também recebem a confirmação em .dat. Nos foruns da MS eu fiz o que indicam que é ir em opções de e-mail e enviar em html, isto ´já está feito, e ainda assim permanece o problema. Alguma indicação de solução?

    quarta-feira, 4 de dezembro de 2013 20:07