que utilizar esta clase para enviar correos Trough una cuenta de Gmail:System.Net.Mail - Tratando de enviar un correo con archivo adjunto a Gmail, pero funciona para los pequeños archivos adjuntos única
public class GmailAccount
{
public string Username;
public string Password;
public string DisplayName;
public string Address
{
get
{
return Username + "@gmail.com";
}
}
private SmtpClient client;
public GmailAccount(string username, string password, string displayName = null)
{
Username = username;
Password = password;
DisplayName = displayName;
client = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(Address, password)
};
}
public void SendMessage(string targetAddress, string subject, string body, params string[] files)
{
MailMessage message = new MailMessage(new MailAddress(Address, DisplayName), new MailAddress(targetAddress))
{
Subject = subject,
Body = body
};
foreach (string file in files)
{
Attachment attachment = new Attachment(file);
message.Attachments.Add(attachment);
}
client.Send(message);
}
}
Aquí es una ejemplo de cómo lo uso:
GmailAccount acc = new GmailAccount("zippoxer", "******", "Moshe");
acc.SendMessage("[email protected]", "Hello Self!", "like in the title...", "C:\\822d14ah857.r");
el último parámetro en el método deSendMessage es la ubicación de un archivo adjunto que desea añadir.
He intentado enviar un correo con un archivo adjunto de 400 KB, funcionó bien (incluso funciona 900KB). Pero luego intenté subir un archivo adjunto de 4MB, no funcionó. Intentó 22MB -> tampoco funcionó.
Debe haber un límite de 25MB por mensaje en Gmail. El tema y el cuerpo de mi mensaje están casi vacíos, así que no los considere como parte del tamaño del mensaje. ¿Por qué tengo ese límite bajo?
¿Funciona en un cliente de correo normal? – SLaks
Sí, se olvidó de decir eso. Acabo de subir un archivo de 22 MB a través de www.gmail.com. –
¿Hay un mensaje de error o se envía el correo electrónico sin el archivo adjunto? ¿Estás ejecutando esto desde un servidor o localmente? ¿Puedes probar más tamaños de archivo para encontrar un límite más preciso? (Puede funcionar la técnica de búsqueda binaria de 2MB? 4MB?) –