Я написал несколько программ, которые отправляют электронную почту из C #.Это прекрасно работает в WinXP, но я нахожу это ломается в Win7.Насколько я понимаю, что хотя SMTP-сервер, на который я ссылаюсь, находится на другом компьютере, на отправляющем компьютере должна быть установлена служба SMTP (а в win7 нет).
Я знаю, что можно установить сторонний SMTP-сервер, но тогда мне нужно будет сделать это на каждом компьютере, на котором запущены мои программы.Вместо этого я хотел бы включить временный SMTP-сервер в свой проект, который я могу использовать полностью из кода для выполнения той же работы.Кто-нибудь знает библиотеку (или пример кода) о том, как я могу включить временный SMTP-сервер в свой проект?
Вот мой код:
public static void sendEmail(String[] recipients, String sender, String subject, String body, String[] attachments)
{
MailMessage message;
try
{
message = new MailMessage(sender, recipients[0]);
}
catch (Exception)
{
return;
}
foreach (String s in recipients)
{
if (!message.To.Contains(new MailAddress(s)))
message.To.Add(s);
}
message.From = new MailAddress(sender);
message.Subject = subject;
message.Body = body;
message.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient("PRIVATE.PRIVATE.PRIVATE", 25);
smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
//smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = true;
if (attachments.Length > 0)
{
foreach (String a in attachments)
{
message.Attachments.Add(new Attachment(a));
}
}
try
{
smtp.SendAsync(message, null);