Usuário com melhor resposta
Envio de Email com Anexo e Proxy

Pergunta
-
Tenho um método que envia email, normalmente, porém a rede que utilizo, tem autenticação de proxy, se eu envio um email sem anexo, ele envia para todos os destinatários sem nenhum problema, porém quando coloco pra enviar anexo ele não envia, não sei se o problema pode ser no proxy que possa estar barrando o anexo. Ele não me retorna erro, ele simplesmente para na autenticação do proxy e mesmo eu confirmando ele não envia. Segue o código da classe:
mail.From = new MailAddress(emailAdm); foreach (var address in destinatario.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries)) { if (EmailValido(address)) { email.Bcc.Add(address); } else { } } //email.To.Add(emailDestinatario); email.Subject = assunto; email.Body = mensagem; email.SubjectEncoding = System.Text.Encoding.UTF8; if (anexo != null) { email.Attachments.Add((anexo)); } SmtpClient smtp = new SmtpClient("192.168.0.1", 3128); if (servidor == "gmail.com") { smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; } if (servidor == "yahoo.com.br") { smtp.Host = "smtp.mail.yahoo.br"; smtp.Port = 587; } if (servidor == "hotmail.com") { smtp.Host = "smtp.live.com"; smtp.Port = 25; smtp.EnableSsl = true; } if (servidor == "live.com") { smtp.Host = "smtp.live.com"; smtp.Port = 25; smtp.EnableSsl = true; } if (servidor == "masterponto.com.br") { smtp.Host = "smtp.masterponto.com.br"; smtp.Port = 587; } smtp.Credentials = new System.Net.NetworkCredential(emailAdm, senha); smtp.Send(email);
E aqui quando chama a classe para passar os dados:
clsEnviarEmail email = new clsEnviarEmail(); email.destinatario = destinatario; email.assunto = txtassunto.Text; email.mensagem = txtMensagem.InnerText; if (Anexo.HasFile) { MemoryStream ms = new MemoryStream(Anexo.FileBytes); Attachment anexo = new Attachment(ms, Anexo.FileName); email.anexo = anexo; } email.Email(); ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('E-mails enviado com sucesso!');", true); txtassunto.Text = null; txtMensagem.InnerText = null; Anexo = null;
Respostas
-
Boa tarde,
Estou encerrando essa thread, porque a autora abriu outra thread pelos mesmos motivos.
Obrigado por participar do fórum MSDN.
Segue thread que continuará ativa: https://social.msdn.microsoft.com/Forums/pt-BR/523eda8a-eef6-4454-9672-6b8c947e559e/enviar-email-com-anexo?forum=aspnetpt
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 12 de julho de 2017 17:59
Todas as Respostas
-
Mariana, boa tarde!
Segue abaixo um link que eu encontrei:
Sending mail through http proxy
Faça um teste, e veja se funciona.
O usuário, simplesmente altera a autenticação do SMTPClient, com os dados do proxy.
att.
-
-
Boa tarde,
Estou encerrando essa thread, porque a autora abriu outra thread pelos mesmos motivos.
Obrigado por participar do fórum MSDN.
Segue thread que continuará ativa: https://social.msdn.microsoft.com/Forums/pt-BR/523eda8a-eef6-4454-9672-6b8c947e559e/enviar-email-com-anexo?forum=aspnetpt
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 12 de julho de 2017 17:59