Моя среда:
Сервер: Компьютер DocuShare 6
Клиентский компьютер: Windows XP, на котором установлены клиент DocuShare 6, клиент DocuShare outlook 3, MS outlook 2007 и наше приложение C #.
У нас есть приложение C # для загрузки почтового сообщения с сервера DocuShare с использованием API DocuShare.
Приложение успешно загружает почтовые сообщения docushare в виде файла MSG.Но когда почтовое сообщение имеет вложение с длинным именем (в моем случае это имя файла вложения «Новое руководство пользователя Tzunami Outlook Attachment Extractor 20100902.docx»), приложение выдает ошибку Windows Socket при загрузке.Если имя файла вложения короткое, почтовые сообщения успешно загружаются.
Вот коды:
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);при загрузке электронной почты с вложенным файлом с именем «Новое руководство пользователя Tzunami Outlook Attachment Extractor 20100902.docx».Для проверки мы обрезали имя файла вложения до «ANew Tzunami OutAttachmen 01.docx», но все равно получили ту же ошибку.
Код objParentItem.DSDownload (0) возвращает значение -300 и одновременно DocuShareпоявляется диалоговое окно с сообщением
«Ошибка Winsock 123»