0

私の環境は

サーバーマシン:DocuShare Server 6

クライアントマシン:DocuShareクライアント6、DocuShare Outlookクライアント3、MS Outlook 2007、およびC#アプリケーションがインストールされているWindowsXP。

DocuShare APIを使用してDocuShareサーバーからメールメッセージをダウンロードするC#アプリケーションがあります。

アプリケーションは、docushareメールメッセージをMSGファイルとして正常にダウンロードします。ただし、メールメッセージに長い名前の添付ファイルがある場合(私の場合、添付ファイル名は「New Tzunami Outlook Attachment Extractorユーザーガイド20100902.docx」)、アプリケーションはダウンロード中にWindowsSocketエラーをスローします。添付ファイル名が短い場合、メールメッセージは正常にダウンロードされます。

コードは次のとおりです。

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); 「NewTzunamiOutlookAttachmentExtractorユーザーガイド20100902.docx」という名前の添付ファイルを持つ電子メールをダウンロードしている間。確認のため、添付ファイル名を「ANew Tzunami OutAttachmen 01.docx」にトリミングしましたが、それでも同じエラーが発生しました。

コードobjParentItem.DSDownload(0)は-300値を返し、同時にDocuShareエラーダイアログボックスがポップアップして次のメッセージが表示されます

「Winsockエラー123」

4

1 に答える 1

0

DsAxess コンソールを使用して同じメール メッセージをダウンロードすると、同じ WinSock エラーが発生したため、何もできません;)。

電子メールの送信には、WorldClient メール アプリケーションを使用しました。WorldCLientを使用して「ANew Tzunami OutAttachmen 01.docx」というファイル名の添付ファイル付きメールを送信しましたが、ダウンロードに失敗しました。テストのために、別のアプリケーションを使用して、同じ添付ファイル付きの電子メールを送信しました。今回は MS word で同じ添付ファイルのメールを送信し、C# アプリと DsAxess コンソールでもメールのダウンロードに成功しました。

これについて何かありましたら、私たちと共有してください。

ありがとうございました。プラカシュ

于 2010-10-22T16:47:58.617 に答える