Отправка письма с вложением - C#

Узнай цену своей работы

Формулировка задачи:

Я знаю, что ума тем есть, но не 1 пример не работает... При коде:
MailMessage message;
            SmtpClient client;
 
            message = new System.Net.Mail.MailMessage(
               "мой-майлremoved@mail.ru",
               "мой-майлremoved@mail.ru",
               "Subject",
               "Body");
 
            client = new SmtpClient("smtp.gmail.com", 587)
            {
                Credentials = new NetworkCredential("мой-майлremoved@mail.ru", "*****"),
                EnableSsl = true
            };
 
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.IsBodyHtml = true;
 
            //добавляем в аттачмент картинку
            //   message.Attachments.Add(new Attachment("picture.jpg", "image/jpeg"));
 
            //добавляем адрес BCC при необходимости
            //MailAddress bcc = new MailAddress("removed@mail.ru");
            //  message.Bcc.Add(bcc);
 
            try
            {
                client.Send(message);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.ToString());
                return;
            }
 
            return;
        }
даже без антивируса вылезает сообщение о том, что программа пытается отправить письмо, но была заблокирована. При таком коде, который почти везде:
//Авторизация на SMTP сервере
SmtpClient Smtp = new SmtpClient("smtp.mail.ru", 25);
Smtp.Credentials = new NetworkCredential("login", "pass");
//Smtp.EnableSsl = false;
 
//Формирование письма
MailMessage Message = new MailMessage();
Message.From = new MailAddress("removed@mail.ru");
Message.To.Add(new MailAddress("removed@mail.ru"));
Message.Subject = "Заголовок";
Message.Body = "Сообщение";
 
         //Прикрепляем файл
         string file = "C:\\file.zip";
         Attachment attach = new Attachment(file, MediaTypeNames.Application.Octet);
 
         // Добавляем информацию для файла
         ContentDisposition disposition = attach.ContentDisposition;
         disposition.CreationDate = System.IO.File.GetCreationTime(file);
         disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
         disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
 
         Message.Attachments.Add(attach);
 
Smtp.Send(Message);//отправка
и им подобным, ошибка: Служба закрыта. Закрытие канала передали... Может быть мне нужно порт 25 поменять на другой? Или что тогда?

Решение задачи: «Отправка письма с вложением»

textual
Листинг программы
Directory.GetFiles("send", "*.*").ToList().ForEach(name => mail.Attachments.Add(new Attachment(name, MediaTypeNames.Text.Plain)));//создаёте папку send в директории с exe файлом и в неё закидываете файлы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы