2012-09-20 64 views
1

我有下面的代碼,我已經在.Net 4.0中構建,它工作正常,但我現在必須在.Net 3.5中構建項目,並且在創建MailItem時出現錯誤。該錯誤信息是: -如何在.NET 3.5中創建Outlook MailItem?

「」不能隱式轉換類型 '對象' 到 'microsoft.office.interop.outlook.olmailitem'「

Outlook.Application application = new Outlook.Application(); 

    Outlook.Folder folder = 


     application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDrafts) 
         as Outlook.Folder; 

    Outlook.MailItem mail = 
        application.CreateItem(Outlook.OlItemType.olMailItem); 

    foreach (string name in addlist) 
       { 
        mail.Recipients.Add(name); 
       } 

    mail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML; 
       mail.HTMLBody = msg; 
       mail.Subject = textBox1.Text; 
       mail.Save(); 

誰能幫助?我努力解決語法問題?

+0

在這行做你的錯誤? –

+0

爲什麼使用Outlook interop發送郵件而不是System.Net.Mail? –

+0

我正在使用它,因爲我無法訪問SMTP信息。用戶從他們自己的Outlook帳戶發送電子郵件,這並不理想,但我在一個大型組織中工作,在那裏訪問這樣的信息本身就很困難。 – Derek

回答

2

Outlook.Application.CreateItem返回一個對象(動態的,是準確的),你必須明確地將它轉換爲Outlook.MailItem,像這樣:

Outlook.MailItem mail = 
       application.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem;