标签: outlook-2003

我可以在C#中阅读Outlook(2003/2007)PST文件吗?

是否可以使用C#读取.PST文件?我想将此作为一个独立的应用程序,而不是作为Outlook插件(如果可能的话).

如果已经看到类似于提及MailNavigator的其他 SO 问题 ,但我希望在C#中以编程方式执行此操作.

我查看了Microsoft.Office.Interop.Outlook命名空间,但它似乎只适用于Outlook插件.LibPST似乎能够读取PST文件,但这是在C中(对不起Joel,我毕业前没有学过C).

任何帮助将不胜感激,谢谢!

编辑:

谢谢大家的回复!我接受了Matthew Ruston的回答作为答案,因为它最终导致我找到了我正在寻找的代码.这是我工作的一个简单示例(您需要添加对Microsoft.Office.Interop.Outlook的引用):

using System;
using System.Collections.Generic;
using Microsoft.Office.Interop.Outlook;

namespace PSTReader {
    class Program {
        static void Main () {
            try {
                IEnumerable<MailItem> mailItems = readPst(@"C:\temp\PST\Test.pst", "Test PST");
                foreach (MailItem mailItem in mailItems) {
                    Console.WriteLine(mailItem.SenderName + " - " + mailItem.Subject);
                }
            } catch (System.Exception ex) {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }

        private static IEnumerable<MailItem> readPst(string pstFilePath, string pstName) {
            List<MailItem> mailItems …
Run Code Online (Sandbox Code Playgroud)

c# outlook pst outlook-2007 outlook-2003

64
推荐指数
3
解决办法
6万
查看次数

如何打开Outlook新邮件窗口c#

我正在寻找一种在Outlook窗口中打开新邮件的方法.

我需要以编程方式填写:from,to,subject,body information,但是保持这个新的邮件窗口打开,这样用户就可以验证内容/添加内容然后像普通的Outlook邮件一样发送.

发现:

Process.Start(String.Format(
 "mailto:{0}?subject={1}&cc={2}&bcc={3}&body={4}", 
  address, subject, cc, bcc, body))
Run Code Online (Sandbox Code Playgroud)

但是没有"发件人"选项(我的用户有多个邮箱...)

有什么建议吗?

c# email .net-4.0 office-interop outlook-2003

33
推荐指数
2
解决办法
7万
查看次数

在生成的电子邮件中添加默认Outlook签名

我正在使用它Microsoft.Office.Interop.Outlook.Application来生成电子邮件并在用户发送之前将其显示在屏幕上.应用程序是一个winform编码的应用C#.NET Framework 3.5 SP1,它是Microsoft Outlook 2003.我使用以下代码:

public static void GenerateEmail(string emailTo, string ccTo, string subject, string body)
    {
        var objOutlook = new Application();
        var mailItem = (MailItem)(objOutlook.CreateItem(OlItemType.olMailItem));        
        mailItem.To = emailTo;          
        mailItem.CC = ccTo;
        mailItem.Subject = subject;
        mailItem.HTMLBody = body;
        mailItem.Display(mailItem);
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是:

如何在body生成的电子邮件中插入/添加正在使用该应用程序的用户的默认签名? 任何帮助赞赏.

c# winforms outlook-2003

26
推荐指数
4
解决办法
4万
查看次数

无法转换COM对象 - Microsoft Outlook和C#

我已编写此代码以查看Outlook邮箱中的未读项目,以下是代码:

 Microsoft.Office.Interop.Outlook.Application app;
 Microsoft.Office.Interop.Outlook.Items items; 
 Microsoft.Office.Interop.Outlook.NameSpace ns; 
 Microsoft.Office.Interop.Outlook.MAPIFolder inbox;

 Microsoft.Office.Interop.Outlook.Application application = new Microsoft.Office.Interop.Outlook.Application();
        app = application;
        ns =  application.Session;
        inbox = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
        items = inbox.Items;
        foreach (Microsoft.Office.Interop.Outlook.MailItem mail in items)
        {
            if (mail.UnRead == true)
            {
                MessageBox.Show(mail.Subject.ToString());
            }
        }
Run Code Online (Sandbox Code Playgroud)

但在foreach循环中我收到此错误:

"无法将类型为'System .__ ComObject'的COM对象转换为接口类型'Microsoft.Office.Interop.Outlook.MailItem'.此操作失败,因为QueryInterface调用COM组件上的接口与IID'{00063034-0000- 0000-C000-000000000046}由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE)).

你能帮我解决一下这个错误吗?

c# outlook office-interop outlook-2003 c#-2.0

16
推荐指数
3
解决办法
3万
查看次数

Outlook 2003加载项将无法加载,但处于正常工作状态

我已经为2003,2007和2010创建了一个Outlook加载项.这个加载项在2007年和2010年运行良好,但在2003年没有在我自己的开发机器之外的任何机器上正确加载.没有代码问题,因为加载行为中没有显示错误,并且它不是禁用的项目.加载项也未显示在COM加载项列表中.这个加载项在2003年之前已经有效.

这是奇怪的部分.我有一个早期时间点的加载项副本,因此不包含完整版本的某些功能.这个加载项在2003年正确加载.因此,作为我的测试的一部分,在VM上,我安装了早期版本(我称之为测试)和当前版本不起作用(我将其称为完整版) .在HKCU>软件>类> CLSID> [[guid]]> InprocServer32下的注册表中,对于测试版本,我将"Manifest Location"和"Manifest Name"键更改为完整版的值.然后我运行Outlook,完整版完美运行.

我无法看到完整的加载项在它自己的注册表设置下是如何工作的,但在测试版下工作正常,并且仅在Outlook 2003上工作.

这是基本信息:

我的开发设置是:

  • Windows 7 64位
  • Outlook 2003已安装
  • 为外接程序项目运行VS2008,但也使用VS2010进行附属程序集.
  • 包含并修改了"设置安全性"项目,以允许多个程序集设置CASPol.

安装项目中包含以下预先要求:

  • .Net 2.0
  • .Net 3.5SP1
  • Office 2003 PIA(分别为2007年和2010年的2007年和2010年PIA)
  • VSTOSE运行时
  • Windows Installer 3.1

任何提示都会非常感激,因为我已经花了将近4天的时间来解决这个问题!

TIA.


更新1:

根据@JoaoAngelo评论我检查了注册表设置,它们如下:

HKCU>软件>类> CLSID> {加载项CLSID}> InprocServer32

 - (default) - '%CommonProgramFiles%\Microsoft Shared\VSTO\8.0\AddinLoader.dll'
 - ManifestLocation - path to the containing folder
 - ManifestName - the .dll.manifest file name
 - ThreadingModel - 'Both'
Run Code Online (Sandbox Code Playgroud)

HKCU>软件>微软> Office> Outlook> Addins> MyAddin …

c# deployment vsto outlook-addin outlook-2003

11
推荐指数
1
解决办法
3434
查看次数

MailItem何时不是MailItem?

我在Outlook的Visual Basic(我们使用的是Outlook 2003和Exchange Server)中编写了一个消息处理函数来帮助我整理收到的电子邮件.

它对我有用,除非有时规则失败并且Outlook停用它.

然后我重新打开规则并在我的收件箱中手动运行以赶上.该规则自发地失败并且每天停用几次.

我想一劳永逸地解决这个问题.

vba mailitem typeof outlook-vba outlook-2003

10
推荐指数
3
解决办法
4万
查看次数

Outlook 2013忽略font-family

在为Outlook 2013编写电子邮件时指定font-family的最佳方法是什么?我发现font-family在内联时会被忽略,如下所示:

<span style="font-family: Helvetica, Arial, sans-serif;">Text</span>
Run Code Online (Sandbox Code Playgroud)

我发现这有效:

<span><font face="Helvetica, Arial, sans-serif">Text</font></span>
Run Code Online (Sandbox Code Playgroud)

但是,这很痛苦,因为我必须在添加文本的任何地方添加标记.围绕几个元素包装标记将被忽略.有没有办法我可以设置一次字体而忘记它?

html css outlook html-email outlook-2003

8
推荐指数
2
解决办法
2万
查看次数

如何创建和发送约会到Microsoft Outlook日历?

我试图创建在Microsoft Outlook中的约会使用下面的code.While运行这个程序(2003),另一人的压延机,该任命是得到保存在我的calender.But不会发送给收件人.

try
{
    Microsoft.Office.Interop.Outlook.Application app = null;
    Microsoft.Office.Interop.Outlook.AppointmentItem appt = null;

    app = new Microsoft.Office.Interop.Outlook.Application();

    appt = (Microsoft.Office.Interop.Outlook.AppointmentItem)app
        .CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
    appt.Subject = "Meeting ";
    appt.Body = "Test Appointment body";
    appt.Location = "TBD";
    appt.Start = Convert.ToDateTime("12/23/2009 05:00:00 PM");
    appt.Recipients.Add("smuthumari@mycompany.com");
    appt.End = Convert.ToDateTime("12/23/2009 6:00:00 PM");
    appt.ReminderSet = true;
    appt.ReminderMinutesBeforeStart = 15;
    appt.Importance = Microsoft.Office.Interop.Outlook.OlImportance.olImportanceHigh;
    appt.BusyStatus = Microsoft.Office.Interop.Outlook.OlBusyStatus.olBusy;
    appt.Save();
    appt.Send();
}
catch (COMException ex)
{
    Response.Write(ex.ToString());
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?任何人都可以帮我解决这个问题吗?

.net c# automation outlook-2003

7
推荐指数
2
解决办法
1万
查看次数

如何使用C#中的SMTPclient向gmail发送电子邮件?

我正在使用outloook 2003和visual studio 2008.我想开发一个将电子邮件发送到任何域的应用程序.但是当我尝试向gmail,hotmail等发送电子邮件时,我的代码失败了,实际上所有的消息都存储在C:\Inetpub\mailroot\Queue目录中.请帮我如何将电子邮件发送到gmail,hotmail a/c.

提前致谢

代码是

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("sumitdawar@hotmail.com");
message.To.Add("sumitdawar@gmail.com");            
message.Subject = "This is sample mail";
message.From = new System.Net.Mail.MailAddress("Sumit.Dhingra@niit.com");
message.Body = "this is the message body";


System.Net.Mail.SmtpClient sss = new System.Net.Mail.SmtpClient("HO-KKJ-MAIL.in.niit.com");
sss.UseDefaultCredentials = false;
sss.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
sss.Credentials = new System.Net.NetworkCredential("Sumit.Dhingrar", "password","domain");
Run Code Online (Sandbox Code Playgroud)

c# .net-3.5 outlook-2003

7
推荐指数
1
解决办法
2万
查看次数

Outlook 2003剥离文本修饰 - HTML电子邮件

我和我的客户有一些问题.我已经构建了(未设计)一个电子邮件模板,供他们使用Create/Send.我已经使用了Create/Send中的设计测试服务,所有这些服务都按预期进行.但是,当客户端在Outlook 2003中查看电子邮件时,文本格式将丢失(请参阅屏幕抓取).

文档的头部中只有非常少的CSS,当然没有什么可以影响到内部完成的样式.

有没有人有任何想法?

如预期

alt text http://citywest.bangtest.co.uk/stackoverflow/okay.png

OutLook 2003

alt text http://citywest.bangtest.co.uk/stackoverflow/bad.png

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Run Code Online (Sandbox Code Playgroud)

City West电子公告

    <style type="text/css" media="screen">
        * { font-family: Arial, san-serif; }
        a {color:#000000;}
        a img {border:none;}
        h3 a { color: #BD2C16; }
        .topbannercopy a {color:#ffffff;}
        .unsub a {color: #555555; text-decoration:none;}
        .unsub a:hover {text-decoration:underline;}
    </style>

</head>

<body style="text-align: left;">

    <table border="0" bgcolor="#ffffff" cellspacing="0" cellpadding="0" width="591" align="center" style="font-family: Arial, san-serif;">
        <tr bgcolor="#e95c55">
            <td colspan="4"><img src="img/top-trust.gif" alt="City West Housing Trust. e-Bulletin for …
Run Code Online (Sandbox Code Playgroud)

html email outlook email-client outlook-2003

5
推荐指数
1
解决办法
3085
查看次数