Я пытаюсь настроить Outlook через C# код addin. Он работает, но при открытии двух или более писем (через новую почту) возникают некоторые проблемы. Поэтому я хочу избежать одновременного открытия двух или нескольких писем в Outlook. Моя версия Outlook - 2013.Как избежать двух составлять почту за раз в Outlook
В приведенном ниже коде я пытаюсь отправить ссылку вложенного файла во время события click click. Если человек открывает два или более писем в одно и то же время, это рухнет (я написал много кода из этого в моем проекте, чтобы получить ссылку на прикрепленный код и другие). Как я могу избежать двух составления почты или поддерживать разные сеансы для двух составлений почтовых диалогов?
void Application_ItemSend(object Item, ref bool Cancel)
{
int attachcountbs=0;
StringBuilder sendinglink = new StringBuilder();
string[] comingstrbuilder = Convert.ToString(SPForm.urlofattach).Split('\n');
Outlook.Application oApp = new Outlook.Application();
Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
StringBuilder sb = new StringBuilder();
//sb.AppendLine("-------------Internal Use-------------<br/>");
//sb.AppendLine("<a href='" + Class1.test + "'>" + Class1.test + "</a>");
if (Item is Outlook.MailItem)
{
Outlook.MailItem mail = (Outlook.MailItem)Item;
Outlook.NameSpace session = mail.Session;
attachcountbs = mail.Attachments.Count;
int arraycount = comingstrbuilder.Count();
int checkattach=1;
for (int i = 0; i < arraycount; i++)
{
if (attachcountbs < checkattach)
{
break;
}
if (comingstrbuilder[i].Contains(mail.Attachments[checkattach].DisplayName))
{
//}
//if (comingstrbuilder[i] == mail.Attachments[checkattach].DisplayName)
//{
sendinglink.AppendLine(comingstrbuilder[i]);
checkattach++;
}
}
if (mail.Attachments.Count == 0)
{
mail.HTMLBody = "";
}
else
{
mail.HTMLBody += "-------------Internal Use-------------<br/>";
//mail.HTMLBody += "<a href='" + Class1.test + "'>" + Class1.test + "</a>";
//mail.HTMLBody += SPForm.urlofattach.ToString();
mail.HTMLBody += sendinglink.ToString();
SPForm.urlofattach.Clear();
}
}
}
Пытается остановить пользователя от использования Outlook в том виде, в котором они хотят быть ... * неправильным * ... решением. Я бы предпочел сосредоточиться на том, чтобы сделать ваш код очень выгодным. –
чем у ..... у меня есть другая логика с моим кодом, чтобы обрабатывать больше новых почтовых окон ........ – RSB