Esto yo lo hago aparte mediante el espacio de nombres System.Web.Mail mandando el reporte en Crystal como archivo adjunto en formato PDF de la siguiente manera:
try
{
string strTempArchivo = Path.GetTempPath() + strArchivoEmail, strSmtp;
string strConfigNamespace = "http://schemas.microsoft.com/cdo/configuration/";
reporte.ExportToDisk(ExportFormatType.PortableDocFormat, strTempArchivo);
MailMessage mail = new MailMessage();
mail.Fields.Add(strConfigNamespace + "smtpserver", "Aqui va servidor SMTP");
mail.Fields.Add(strConfigNamespace + "smtpserverport", 25);
mail.Fields.Add(strConfigNamespace + "sendusing", 2);
mail.Fields.Add(strConfigNamespace + "smtpauthenticate", 1);
mail.Fields.Add(strConfigNamespace + "sendusername", "aqui va nombre de usuario");
mail.Fields.Add(strConfigNamespace + "sendpassword", "Aqui va la contraseña");
mail.From = "
[email protected]";
mail.To = "
[email protected]";
mail.Subject = "Asunto";
mail.BodyFormat = MailFormat.Html;
mail.Body = "Mensaje";
MailAttachment maReporte = new MailAttachment(strTempArchivo,
MailEncoding.Base64);
mail.Attachments.Add(maReporte);
SmtpMail.Send(mail);
mail = null;
maReporte = null;
}
catch (Exception er)
{
MessageBox.Show(er.Message);
}
A ver si esto te sirve ya tu tienes que ver tu configuración de Correo para completar el código. Lo que uso es la exportación de reporte a PDF y lo creo en la carpeta temporal de Windows para poder enviarlo desde ahí.
Hojalá y esto te ayude de algo.
Saludos.