Я пытаюсь написать письмо в мою локальную папку.Я успешно написал электронное письмо в папку с документами, используя этот код:
using (var client = new SmtpClient())
{
client.UseDefaultCredentials = true;
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
client.PickupDirectoryLocation = tempDocsPath;
client.Send(message);//Writes to the PickupDirectoryLocation
}
Однако, когда я перенес этот же код в другой проект, он выдает мне эту ошибку:
Система.Net.Mail.SmtpException: ошибка отправки почты.---> System.IO.DirectoryNotFoundException: Не удалось найти часть пути «C: \ Users \ josh.bowdish \ источник \ Repos \ GenerateEmail \ GenerateEmail \ Bin \ Debug \ net461 \ TempFiles \ AAMkAGUyODNhN2JkLThlZWQtNDE4MS1hODM1LWU0ZDY4Y2NhYmMxOQBGAAAAAABKB1jlHZSIQZSWN7AYZH2SBwDZdOTdKcayQ5NMwcwkNT7UAAAAAAEMAADZdOTdKcayQ5NMwcwkNT7UAACn \ 0a5b24a5-d625-4ecd-9990-af5654679820.eml '.
Я проверил, что каталог, в который он пытается записать, существует, даже переписал его, чтобы он выглядел так:
private static string WriteEmail(MailMessage message, string messageDirectory)
{
if (Directory.Exists(messageDirectory))
{
using (var client = new SmtpClient())
{
client.UseDefaultCredentials = true;
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
client.PickupDirectoryLocation = messageDirectory;
client.Send(message);//Writes to the PickupDirectoryLocation
}
...
}
//stuff that returns the full email path
}
Эторазрывы на строке client.Send () с указанной выше ошибкой.Насколько я могу судить, пути кода идентичны.Я попытался записать в ту же папку, с которой работает другой проект, но безрезультатно.Единственное, о чем я могу думать, - это пытаться написать файл электронной почты до того, как он существует, но другой проект пишет его просто отлично.
Может кто-нибудь сказать мне, что вызывает эту ошибку?
Спасибо,
~ Джош