2011-07-05 8 views
2

J'utilise le compte Outlook de My Company pour envoyer des messages, mais j'ai cette erreur: Récupération de la fabrique de classe COM pour composant avec CLSID {0006F03A-0000-0000-C000-000000000046} a échoué en raison de l'erreur suivante: 80080005.Erreur: La récupération de la fabrique de classe COM pour le composant avec CLSID {xxxx} a échoué en raison de l'erreur suivante: 80080005

la méthode Sendmail est donnée ci-dessous:

public static void SendEmail(string _ToEmail, string _Subject, string _EmailBody) 
    { 
    oApp = new Microsoft.Office.Interop.Outlook.Application(); 

    Microsoft.Office.Interop.Outlook.MailItem email = (Microsoft.Office.Interop.Outlook.MailItem)(oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem)); 
    email.Recipients.Add(_ToEmail); 
    email.Subject = _Subject; 
    email.Body = _EmailBody; 
    ((Microsoft.Office.Interop.Outlook.MailItem)email).Send(); 
    } 

et aussi j'ajouté les deux Microsoft.Office.Interop. Outlook.dll et office.dll à ma solution.

une suggestion?

Répondre

1

COM nécessite des threads STA. Vérifiez que vous instanciez l'objet sur un thread STA.

+0

cette question SO peut aider: http://stackoverflow.com/questions/1342160/asp-net-and-sta-com-objects –

Questions connexes