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 Excel

Exportar el contenido de un GridView a Excel

Hace ya bastante tiempo publiqué un pequeño "control" para exportar un Datagrid a Excel, esa vez decidí no publicar el código fuente debido a que éste tenía demasiados errores de programación -recién empezaba con .NET :-D.

Para mi sorpresa, al parecer este control fue utilizado por un gran número de personas y desde ese entonces he recibido varias consultas sobre el funcionamiento del mismo, algunas simples y otras imposibles de hacer por la forma como se hacía la exportación.

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.

Categories
.NET ASP.NET Seguridad

Vulnerabilidad en Visual Studio 2005

Hoy a sido publicado un bug -exploit incluido- en Visual Studio 2005, que permitiría al atacante obtener ciertos permisos en la máquina afectada.

An attacker who successfully exploited this vulnerability could gain the same user rights as the local user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights

Microsoft, sugiere ciertos pasos para aliviar este problema.

Fuente: TheServerSide .NET