发布
社区首页 >问答首页 >以邮件文件形式下载邮件时出现WinSock错误

以邮件文件形式下载邮件时出现WinSock错误
EN

Stack Overflow用户
提问于 2010-10-21 17:44:10
回答 1查看 547关注 0票数 0

我的环境是

服务器计算机: DocuShare服务器6

客户端计算机: DocuShare XP,其中安装了DocuShare Client 6、Windows outlook client 3、MS Outlook2007和我们的C#应用程序。

我们有一个使用DocuShare应用程序接口从DocuShare服务器下载邮件消息的C#应用程序。

该应用程序成功地将docushare邮件消息下载为MSG文件。但是当邮件消息有长名称的附件时(在我的例子中,附件文件名是"New Tzunami Outlook attachment User Guide 20100902.docx"),应用程序在下载时会抛出Windows套接字错误。如果附件文件名较短,则邮件下载成功。

代码如下:

代码语言:javascript
代码运行次数:0
复制
private void btnDownloadMails_Click(object sender, EventArgs e)
{
    MailArgument mailArg = new MailArgument();
    mailArg.server = textServer.Text;
    mailArg.user = textUser.Text;
    mailArg.password = textPwd.Text;
    DownloadMailAsMsg(mailArg);
}

void DownloadMailAsMsg(object s)
{
    MailArgument mailArg = s as MailArgument;
    long status = 0;

    DSServerMap.Server dsserver = new DSServerMap.Server();

    if (!SelectMappedServer(ref dsserver, mailArg.server))
        return;             

    dsserver.DocuShareAddress = mailArg.server;
    dsserver.UserName = mailArg.user;
    dsserver.Password = mailArg.password;
    dsserver.Domain = "DocuShare";
    status = dsserver.Logon();                        

    if (status == 0)
    {
        IItemObj objParentItem;
        string[] emailHan = { "MailMessage-2919", "MailMessage-2924", "MailMessage-2925", "MailMessage-2926", "MailMessage-2926", "MailMessage-15", "MailMessage-30", "MailMessage-31" };
        foreach (string handnum in emailHan)
        {
            objParentItem = (IItemObj)dsserver.CreateObject(handnum);
            DSGATEWAYLib.IGatewayHandler gateway = (DSGATEWAYLib.IGatewayHandler)dsserver.Open();                   
            objParentItem.AttachGateway(gateway, true);
            objParentItem.Name = @"D:\emtest\" + handnum + ".msg";                     
            int flag = objParentItem.DSDownload(0);
        }
    }
}

我被困在行: int flag = objParentItem.DSDownload(0);而下载的电子邮件的附件文件名为"New Tzunami Outlook attachment Extractor User Guide 20100902.docx“。为了检查,我们将附件文件名修剪为"ANew Tzunami OutAttachmen 01.docx“,但仍然得到相同的错误。

代码objParentItem.DSDownload(0)返回-300值,同时弹出DocuShare错误对话框,并显示以下消息

"Winsock错误123“

EN

回答 1

Stack Overflow用户

发布于 2010-10-23 00:47:59

当使用DsAxess控制台下载相同的邮件消息时,我们得到相同的WinSock错误,因此无法执行任何操作;)。

我们使用WorldClient邮件应用程序发送电子邮件。我们使用WorldCLient发送了带有"ANew Tzunami OutAttachmen 01.docx“文件名的附件的电子邮件,但我们无法下载该文件。为了测试,我们使用了另一个应用程序来发送带有相同附件的电子邮件。这一次,我们使用MS word发送带有相同附件的电子邮件,我们还使用C#应用程序和DsAxess控制台成功下载了电子邮件。

如果你对此有任何想法,请与我们分享。

谢谢。普拉卡什

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3986143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档