小编Alf*_*ers的帖子

什么是以编程方式处理新电子邮件和存储附件的最佳方式

我有几个客户/供应商通过电子邮件向我发送报告.其中一些文件非常庞大,需要从电子邮件中删除并保存在文件共享中进行处理,以及控制邮箱大小.

任何人都可以提供有关自动下载和保存附件的推荐方法的指导.

我在MS Windows环境(客户端和服务器计算机)中.电子邮件位于Microsoft Exchange 2003电子邮件服务器上.

对于跨解决方案(C#)一致性首选使用微软技术的,但我愿意接受任何建议,无论是C#,VBScript中,过Perl,Java,组件我应该购买等.

方案每一天bob@whysendmereportsbyemail.com在john@myemailaddress.com发送主题为"为YYYY-MM-DD活动报告"的电子邮件给我

每个电子邮件都有一个名为"ActivityReport -YYYY-MM-DD-HH-MI-SS.xls"的附件,我需要将其保存在我的文件系统"C:\ FilesFromBob\ActivityReport -YYYY-MM-DD-HH-MI- SS.xls"

在此先感谢您的任何帮助.

windows email exchange-server exchange-server-2003

6
推荐指数
1
解决办法
1366
查看次数

Code Analysis是否支持为混合语言拼写检查定义两种语言?

使用JoséAdanhttp://social.msdn.microsoft.com/Forums/en-US/vstscode/thread/f6dec8c4-9752-4a9b-82fe-0822808fd386/提供的提示,我能够让代码分析进行拼写检查巴西葡萄牙语.

在巴西,在类型和成员名称上混合葡萄牙语和英语是一种常见的做法.我也在源自欧洲的代码中看到了其他语言的这种做法.

所以我想要做的是启用两种语言.

我没有找到任何东西,我在周围搜索,我做了一些实验,如

<CodeAnalysisCulture>en-US;pt-BR</CodeAnalysisCulture>
Run Code Online (Sandbox Code Playgroud)

<CodeAnalysisCulture>en-US&</CodeAnalysisCulture>
<CodeAnalysisCulture>pt-BR&</CodeAnalysisCulture>
Run Code Online (Sandbox Code Playgroud)

都没有奏效.第一个打破了编译错误,第二个使用了最后定义的语言.

我几乎可以肯定Code Analysis不支持这个,但作为最后的手段,我问:

Code Analysis是否支持为混合语言拼写检查定义两种语言?

PS:我已经知道自定义词典了.这是我的备份计划.

code-analysis fxcop visual-studio-2008 static-code-analysis

6
推荐指数
1
解决办法
210
查看次数

为什么FxCop警告此C#代码中的溢出(CA2233)?

我有以下函数从高字节和低字节获取一个int:

public static int FromBytes(byte high, byte low)
{
    return high * (byte.MaxValue + 1) + low;
}
Run Code Online (Sandbox Code Playgroud)

当我用FxCop分析程序集时,我收到以下严重警告:

CA2233:OperationsShouldNotOverflow
如果没有先验证操作数以防止溢出,则不应进行算术运算.

我无法看到这可能会溢出,所以我只是假设FxCop过于热心.
我错过了什么吗?可以采取哪些措施来纠正我所拥有的(或至少使FxCop警告消失!)?

.net c# fxcop overflow

6
推荐指数
2
解决办法
2460
查看次数

使用Exchange 2007传输代理编辑SMTP标头

我目前正在编写Exchange 2007传输代理,以替换来自特定发件人的所有传出邮件中的某些邮件头.我成功地成功替换了"From"SMTP标头,但重写"Return-Path"标头似乎不起作用.

为了实现这一切,我编写了一个自定义的SmtpReceiveAgent并订阅了OnEndOfData事件,如下所示:

private static void MyAgent_OnEndOfData(ReceiveMessageEventSource source, EndOfDataEventArgs e)
        {

            try
            {
                var address = e.MailItem.Message.From.SmtpAddress;
                if (address.ToLower().EndsWith("[internal email domain]"))
                {
                    // replace the From: header - WORKING FINE!
                    e.MailItem.Message.From = new EmailRecipient("[displayname]",
                                                                 "[email address]");

                    // replace the Return-Path: header - NOT WORKING!
                    var headerList = e.MailItem.Message.RootPart.Headers;
                    var header = (AddressHeader)headerList.FindFirst("Return-Path");
                    var newheader = new AddressHeader("Return-Path") { Value = "[email address" };
                    headerList.ReplaceChild(newheader, header);
                }
            }
            catch (Exception ex)
            {
               // do something useful here
            }

        }
Run Code Online (Sandbox Code Playgroud)

exchange-server smtp exchange-server-2007 exchange-transport-agents

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

Exchange Web服务在哪里:定义了ExtendedPropertyDefinition ID?

在研究如何使用Exchange Web服务时,我看到了这样的示例

Dim PR_DELETED_ON As New ExtendedPropertyDefinition(26255, MapiPropertyType.SystemTime)
Dim PR_SEARCH_KEY As New ExtendedPropertyDefinition(12299, MapiPropertyType.Binary)
Run Code Online (Sandbox Code Playgroud)

第一个参数是一个表示属性ID的int.任何人都可以给我一个指向这些ID号定义位置的指针吗?

exchange-server web-services exchangewebservices

5
推荐指数
2
解决办法
3005
查看次数

是否需要额外安装才能访问Exchange 2010服务器上的托管EWS?

系统管理员是否需要安装额外的任何内容才能使EWS托管API在Exchange 2010上为客户端工作?目前我只是通过托管API使用AutoDiscover遇到问题所以我开始认为服务器配置不正确.

此处是否有任何管理员具有设置Exchange 2010以允许通过EWS托管API进行访问的任何经验?

exchange-server exchangewebservices ews-managed-api exchange-server-2010

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

.NET应用程序是否有最大数量的程序集?

相当多的应用程序支持插件.

拥有大量插件是否有任何缺点?是否存在可能性能下降的最佳点?

您在应用中看到的最大装配数量是多少?

.net c# architecture plugins winforms

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

如何使用Exchange Web Services 2010托管API获取文件夹大小?

我正在尝试使用EWS 2010托管API来获取用户邮箱的总大小.我还没有找到一个Web服务方法来获取这些数据,所以我想我会尝试计算它.我在另一个网站上发现了一个关于使用EWS 2007查找邮箱大小的看似适用的问题,但要么我不理解它要求我做什么,要么该方法不适用于EWS 2010.

在代码洞察中,我能够编写我认为是一种递归遍历文件夹结构的方法,并导致收件箱内所有文件夹的总计:

private int traverseChildFoldersForSize(Folder f)
{
    int folderSizeSum = 0;
    if (f.ChildFolderCount > 0)
    {
        foreach (Folder c in f.FindFolders(new FolderView(10000)))
        {
            folderSizeSum += traverseChildFoldersForSize(c);
        }
    }

    folderSizeSum += (int)f.ManagedFolderInformation.FolderSize;

    return folderSizeSum;
}
Run Code Online (Sandbox Code Playgroud)

(假设给定文件夹中的文件夹不超过10,000个.这是一个安全的赌注...)

不幸的是,这不起作用.

我正在用这段代码启动递归:

Folder root = Folder.Bind(svc, WellKnownFolderName.Inbox);
int totalSize = traverseChildFoldersForSize(root);
Run Code Online (Sandbox Code Playgroud)

但抛出了Null引用异常,基本上说这[folder].ManagedFolderInformation是一个空对象引用.

为清楚起见,我还试图获得根文件夹的大小:

Console.Write(root.ManagedFolderInformation.FolderSize.ToString());
Run Code Online (Sandbox Code Playgroud)

其中引发了相同的NRE异常,所以我知道一旦你在目录树中达到某个深度,ManagedFolderInformation就不存在了.

有关如何获取用户邮箱总大小的任何想法?我吠叫错了树吗?

.net c# exchange-server exchangewebservices ews-managed-api

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

C#读取XLS(XLSX)文件并填充数据网格的最佳方法

使用C#读取Excel文件(XLS和XLSX)并填充数据网格的最佳(免费或付费)是什么,我还希望将数据网格中的任何更改写回文件.

我还应该补充一点,它需要高性能,因为datagrid可以包含大量行(10,000+).

这将用于商业应用程序,因此需要可分发.

这是一个Windows窗体应用程序.

.net c# excel

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

交流约会类型

我使用以下代码通过Exchange Web服务托管API保存约会:

Appointment appointment = new Appointment(m_exchangeService);
appointment.Subject = subject;
appointment.Body = body;
appointment.Start = start;
appointment.End = end;
appointment.Save();
Run Code Online (Sandbox Code Playgroud)

当我这样做时,约会将被创建为Outlook中的“会议”。但我只想将其作为普通的约会而不是开会。我该怎么做呢?

exchange-server web-services ews-managed-api

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