Categories
.NET ASP.NET Utilidades Windows Forms

Envío de emails con imágenes incrustadas – .NET 2

Por si alguien le sirve, muestro un pequeño ejemplo en C# para enviar emails con imágenes incrustadas en el cuerpo del mensaje.

El servidor SMTP que se usa en este caso es el de GMail

csharp:

MailMessage mensaje = new MailMessage("fulano@gmail.com", "alguien@empresa.com");

mensaje.Subject = "Prueba imágenes embedidas";

// Crear la vista HTML del mail, notar lo que se pone en el tag "img"
AlternateView html = AlternateView.CreateAlternateViewFromString(@"<h1>Buayacorp</h1>
        <img src="
"cid:buayacorp_logo"" /><br /><p>Esto es una prueba de una imagen incrustada</p>", Encoding.UTF8, "text/html");

// Crear la vista de texto plano, siempre es bueno para aquellos que no les gusta el HTML
AlternateView texto = AlternateView.CreateAlternateViewFromString("BuayaCorp\n\nTexto plano", Encoding.UTF8, "text/html");

// Adjuntar el recurso logo.jpg, con id "buayacorp_logo" a la vista HTML
LinkedResource logo = new LinkedResource(@"C:\logo.jpg");
logo.ContentId = "buayacorp_logo";
html.LinkedResources.Add(logo);

// Añadir las 2 vistas del correo
mensaje.AlternateViews.Add(texto);
mensaje.AlternateViews.Add(html);

// Definir el servidor SMTP, GMail usa SSL para la autenticación
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;

// Ingresar nuestra cuenta de gmail
smtp.Credentials = new NetworkCredential("fulano@gmail.com", "contraseña");
smtp.Send(mensaje);

Categories
.NET ASP.NET Mono Utilidades Windows Forms

Mono Migration Analyzer

Mono Migration Analyzer analiza los ensamblados .NET para determinar si éstos son compatibles o no con Mono.

Por ejemplo, estos son los resultados del pequeño exploit que publiqué hace tiempo:

Mono Migration Analyzer results

MoMA Scan Results

Scan time: 28/11/2006 02:33:03 p.m.

For descriptions of issues and what to do, see http://www.mono-project.com/MoMA_-_Issue_Descriptions.

xploit.exe
Methods missing from Mono
Calling Method Method not yet in Mono
Class BuayaCorp.Main:
void InitializeComponent() void Form.add_FormClosing(FormClosingEventHandler)

Miguel de Icaza comenta algunos resultados enviados a través de esta aplicación.

Actualización

Más datos sobre el feedback que se envió a través de Mono Migration Analyzer

Categories
.NET ASP.NET Windows Forms

Tip: Correr una aplicación con una versión específica del .NET Framework

En las aplicaciones web normalmente no hay mucho problema cuando se quiere que un determinado módulo o aplicación corra en una versión X del .NET Framework, sin embargo, en las aplicaciones de escritorio o "windows", por defecto éstas se ejecutan bajo el runtime de la última versión instalada.