usar correo corporativo configurar con como cliente .net winforms email

.net - correo - gmail pop3



¿Cómo enviar un correo electrónico usando un cliente de correo electrónico predeterminado? (4)

Esto es lo que intenté:

Process.Start("mailto:[email protected]?subject=" + HttpUtility.HtmlAttributeEncode("Application error report") + "&body=" + HttpUtility.HtmlAttributeEncode(memoEdit1.Text));

Pero si el texto del cuerpo es demasiado grande, recibo la excepción:

Win32Exception "El área de datos transferida a una llamada del sistema es demasiado pequeña"

Por lo tanto, la pregunta sigue abierta, ya que necesito manejar el cuerpo del texto largo. No sé el límite de tamaño para este error.

Deseo enviar un correo electrónico desde una aplicación de formularios .NET Windows utilizando el cliente de correo electrónico predeterminado del sistema (thunderbird, outlook, etc.). Me gustaría preestablecer el tema y el texto del cuerpo: creo que hay una forma de hacerlo enviando algo como esto al explorador de Windows: "mailto: [email protected]? Subject = mysubject & body = mymessage". ¿Tienes algún ejemplo sobre esto?


La forma correcta de hacerlo es mediante el uso de MAPI, pero el uso de código de interoperabilidad para el dll de MAPI no es en realidad una forma admitida ni recomendada de hacerlo . He hecho esto y, siempre que sea muy cuidadoso con su código de interoperabilidad y no haga mucha más interacción que abrir el cliente de correo para enviar un correo electrónico, debería estar bien.

Hay varios problemas con el uso del enfoque "mailto", el menor de los cuales es que no puede adjuntar archivos.


Prueba esto:

System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "mailto:[email protected]?subject=hello&body=love my body"; proc.Start();


Si está trabajando en un entorno MS Windows solo entonces puede usar MAPI32.DLL. Un contenedor administrado se puede encontrar aquí:

http://www.codeproject.com/KB/IP/SendFileToNET.aspx

El código se ve así:

MAPI mapi = new MAPI(); mapi.AddAttachment("c://temp//file1.txt"); mapi.AddAttachment("c://temp//file2.txt"); mapi.AddRecipientTo("[email protected]"); mapi.AddRecipientTo("[email protected]"); mapi.SendMailPopup("testing", "body text"); // Or if you want try and do a direct send without displaying the mail dialog // mapi.SendMailDirect("testing", "body text");