Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/09/2014, 11:45
Chirola08
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Crear Dll en .net y utilizarla en vb6

Lo que vos me decís es correcto, lo que yo digo es supongamos que yo tengo la dll en .NET:
Código C#:
Ver original
  1. using System.Linq;
  2. using System.Text;
  3. using System.Net;
  4. using System.Net.Mail;
  5. using System.Net.Mime;
  6. using System.Runtime.InteropServices;
  7.  
  8. [assembly: ClassInterface(ClassInterfaceType.AutoDual)]
  9.  
  10. namespace correossl
  11. {
  12.     [ProgId("correossl.correoSsl")]
  13.     public class CorreoSsl
  14.     {
  15.         public interface ICorreoSSL {
  16.             string EnviarCorreoGmail(string destinatario, string remitente, string nombre, string asunto, string cuerpo, string attach, string password, int puerto);
  17.         }
  18.  
  19.         public string EnviarCorreoGmail(string destinatario, string remitente, string nombre, string asunto, string cuerpo, string attach, string password, int puerto)
  20.         {
  21.             try
  22.             {
  23.                
  24.                 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
  25.                 msg.To.Add(destinatario);
  26.                 msg.From = new MailAddress(remitente, nombre, System.Text.Encoding.UTF8);
  27.                 msg.Subject = asunto;
  28.                 msg.SubjectEncoding = System.Text.Encoding.UTF8;
  29.                 msg.Body = cuerpo;
  30.                 msg.Attachments.Add(new Attachment(attach));
  31.                 msg.BodyEncoding = System.Text.Encoding.UTF8;
  32.                 msg.IsBodyHtml = false;
  33.                 SmtpClient client = new SmtpClient();
  34.                 client.Credentials = new System.Net.NetworkCredential(remitente, password);
  35.                 client.Port = 587;
  36.                 client.Host = "smtp.gmail.com";
  37.                 client.EnableSsl = true;
  38.                 client.Send(msg);
  39.                 return "Enviado";
  40.  
  41.             }
  42.             catch (System.Net.Mail.SmtpException ex)
  43.             {
  44.                 return ex.Message;
  45.             }
  46.         }
  47.     }
  48. }

Mi problema es que cuando la llamo de visual basic 6, de esta forma:
Código VB:
Ver original
  1. Dim mailok As String
  2.     Dim MailCS As correossl.Correo
  3.     Set MailCS = New correossl.Correo
  4.     mailok = MailCS.EnviarCorreoGmail(SSLTo, SSLFrom, "ejemplo", SSLSubject, SSLBody, "", SSLPassword, SSLPort)
Y el error que me esta dando es: "ActiveX component can't create object" en la linea donde hago el SET...
Gracias. Espero que se entienda.
Saludos.