Usuário com melhor resposta
Envio de email com anexo em PDF está enviando um arquivo .dat

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();
}
Respostas
-
Pessoal,
Achei o problema.
Ao fazer o "message.Attachments.Add(arq); " arq estava com caracteres especiais.
Obrigado.
Adenilson
- Marcado como Resposta Adenilson Santos da silva sexta-feira, 16 de março de 2012 18:05
Todas as Respostas
-
Pessoal,
Achei o problema.
Ao fazer o "message.Attachments.Add(arq); " arq estava com caracteres especiais.
Obrigado.
Adenilson
- Marcado como Resposta Adenilson Santos da silva 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?