У меня есть процедура C# для отправки писем. Редко процедура вызывает mailItem.send() без ошибок, но Outlook не отправляет почту, а почта не создается в папке Outlook «отправить».Определить, когда «Office.Interop.Outlook» не отправляет почту
Как это обнаружить?
Код является продолжением:
private void sendMail(String mail, String description)
{
RegistryKey key = Registry.ClassesRoot;
RegistryKey subKey = key.OpenSubKey("Outlook.Application");
if (subKey != null)
{
if ((Process.GetProcessesByName("Outlook").Length == 0) && (Process.GetProcessesByName("Outlook.exe").Length == 0))
{
System.Diagnostics.Process.Start("Outlook");
}
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.MailItem mailItem = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
mailItem.Subject = "Release Notice";
mailItem.To = mail;
String bodyMessage = description;
mailItem.Body = bodyMessage;
mailItem.Display(false);
mailItem.Send();
}
else
{
MessageBox.Show("Impossible to send mails. Contact system administrator.", "System Info", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
попытку окружить посыла-метод с TRY/улова, или же 'mailItem.Send()' дает и возвращаемое значение? –
если mailItem.Send() не терпит неудачу, я проверил бы исходящую почту для сообщения электронной почты, чтобы убедиться, что он готов к отправке. – sr28
@ M.Schena mailItem.Send() является недействительным методом – daniele3004