Pessoal eu criei um aplicativo windows em c# para mandar Email com anexos. Ele funciona normalmente quando os anexos são pequenos, mas quando são maiores do que 2 megabytes ele exibe o seguinte erro:
System.Net.SmtpException: O tempo limite da operação foi atingido.
O meu código esta abaixo:
public void EnviarEmail(string De, string Para, string Assunto, string Remetente,
string Destinatario, string Menssagem, string[] Anexos) {
SmtpClient Cliente = new SmtpClient("smtp.mail.yahoo.com", 587);
Cliente.EnableSsl = false;
//Define o remetente e destinatário no qual a menssagem será encaminhada
MailMessage Menssagens = new MailMessage();
Menssagens.From = new MailAddress(De, Remetente);
Menssagens.Priority = MailPriority.Normal;
Destinatarios = Destinatario.Split(',');
for (int Contador = 0; Contador < Destinatarios.Length; Contador++) {
Destinatarios[Contador] = Destinatarios[Contador].Trim();
Menssagens.To.Add(Destinatarios[Contador] + "<" + EnderecoPara[Contador] + ">");
}
//Define o titulo e o corpo do email
Menssagens.Subject = Assunto;
Menssagens.Body = Menssagem + "\r\n\r\n" + DateTime.Now.ToLongDateString() + "\t\t" +
DateTime.Now.ToLongTimeString();
//Acessa a conta da qual o email será enviado
Cliente.Credentials = new NetworkCredential("meuemail", "senha");
//Anexa os arquivos ao email
foreach (string Anexo in Anexos) {
Attachment ArquivoAnexado = new Attachment(Anexo, MediaTypeNames.Application.Octet);
Menssagens.Attachments.Add(ArquivoAnexado);
}
try {
Cliente.Send(Menssagens);
MessageBox.Show("Enviado");
}
catch (Exception erro) {
MessageBox.Show(erro.ToString());
}
}//End EnviarEmail()
Outro problema ocorre se eu configurar Cliente.EnableSsl com true, eu não consigo enviar o Email. Como faço para habilitar este comando?