Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533

Из ftp скачать файл и отправить по почте

03.10.2018, 09:31. Показов 3849. Ответов 20
Метки ftp (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Прошу помощи у знающих. Есть фтп сервер, нужно в автоматическом режиме каждые 2 часа скачивать оттуда файлы и отправлять их по почте нескольким людям (почта внутри сети) . Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.10.2018, 09:31
Ответы с готовыми решениями:

отправить файл по почте
Есть файл отправки писем SMTP. Работает отлично. Нужно добавить отправку прикрепленных файлов. Я в PHP ноль, помогите пожалуйста. В...

Отправить по почте выбранный файл
Привет! Помогите решить проблему Немогу правильно написать комманду отправки файла по почте.. Текст отправляется нормально, указанный...

отправить файл по почте не используя элементы mapi и т.п.
есть ли возможность, не используя элементы mapi и т.п., отправить сообщение адресату, не открывая всяких там окон диалога - просто send и...

20
 Аватар для Young Vu
133 / 103 / 43
Регистрация: 01.03.2018
Сообщений: 291
03.10.2018, 10:57
Цитата Сообщение от Damenikx Посмотреть сообщение
качивать оттуда файлы
download from ftp


Пример как отправить письмо
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System.Net; 
using System.Net.Mail; 
 
public void email_send()
{
    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mail.From = new MailAddress("your mail@gmail.com");
    mail.To.Add("to_mail@gmail.com");
    mail.Subject = "Test Mail - 1";
    mail.Body = "mail with attachment";
 
    System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("путь до файла");
    mail.Attachments.Add(attachment);
 
    SmtpServer.Port = 587;
    SmtpServer.Credentials = new System.Net.NetworkCredential("mail@gmail.com", "password");
    SmtpServer.EnableSsl = true;
 
    SmtpServer.Send(mail);
 
}
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.10.2018, 11:22  [ТС]
Спасибо за форму отправки. Я так понимаю mail.body это прикреплённый файл?
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
03.10.2018, 11:30
Damenikx,
Цитата Сообщение от Damenikx Посмотреть сообщение
mail.body это прикреплённый файл?
нет это "тело" письма, а прикрепленный файл здесь:
Цитата Сообщение от Young Vu Посмотреть сообщение
System.Net.Mail.Attachment attachment; attachment = new System.Net.Mail.Attachment("путь до файла"); mail.Attachments.Add(attachment);
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.10.2018, 11:34  [ТС]
Понял, спасибо.

Добавлено через 35 секунд
Сразу и вопрос. Можно ли ко всему этому реализовать в консоли, какую-либо видимость процесса, где будет описано что происходит?
0
 Аватар для Young Vu
133 / 103 / 43
Регистрация: 01.03.2018
Сообщений: 291
03.10.2018, 11:51
Лучший ответ Сообщение было отмечено Damenikx как решение

Решение

Цитата Сообщение от Damenikx Посмотреть сообщение
Можно ли ко всему этому реализовать в консоли, какую-либо видимость процесса, где будет описано что происходит?
можно

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System.Net; 
using System.Net.Mail; 
 
public void email_send()
{
    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mail.From = new MailAddress("your mail@gmail.com");
    mail.To.Add("to_mail@gmail.com");
    mail.Subject = "Test Mail - 1";
    mail.Body = "mail with attachment";
 
    System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("путь до файла");
    mail.Attachments.Add(attachment);
 
    SmtpServer.Port = 587;
    SmtpServer.Credentials = new System.Net.NetworkCredential("mail@gmail.com", "password");
    SmtpServer.EnableSsl = true;
    try
    {
       SmtpServer.Send(mail);
    
       Console.WriteLine("mail is send");
    }
    catch (Exception e)
    {
         Console.WriteLine("mail is not send. Error " + e.Message);
     }
}
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.10.2018, 11:55  [ТС]
Спасибо

Добавлено через 2 минуты
Остался последний вопроса, касающийся установки автоматического режима в самой программе или данный процесс лучше сделать по средствам винды?
0
 Аватар для Young Vu
133 / 103 / 43
Регистрация: 01.03.2018
Сообщений: 291
03.10.2018, 12:04
Damenikx, можешь через таймер сделать, например
можно через планировщик в винде
это уже как вам удобно )
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.10.2018, 12:21  [ТС]
Понятно. Спасибо, буду тестить, отпишусь попозже)

Добавлено через 14 минут
Не отправляет)) почему, пока не знаю. Почта находится внутри сети, может в это проблема?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18288 / 14211 / 5368
Регистрация: 17.03.2014
Сообщений: 28,889
Записей в блоге: 1
03.10.2018, 12:26
Цитата Сообщение от Damenikx Посмотреть сообщение
Остался последний вопроса, касающийся установки автоматического режима в самой программе или данный процесс лучше сделать по средствам винды?
Лучше средствами Windows - через Task Scheduler
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.10.2018, 14:08  [ТС]
Ребята, я прошу прощения, я не так выразился. Я имел ввиду, чтобы брать файл с компьютера и отправлять пользователям (которые находятся в сети) по почте (которая тоже работает в сети. Допустим есть 3 картинке на диске D, надо эти 3 картинки отправить 3 разным людям на почту, которая работает по сети.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18288 / 14211 / 5368
Регистрация: 17.03.2014
Сообщений: 28,889
Записей в блоге: 1
03.10.2018, 14:50
Damenikx, примеры которые привел Young Vu уже показывают как можно отправить почту. Нужно всего лишь указать свой SMTP сервер, его порт и параметры аутентификации (если они требуются).
1
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
03.10.2018, 14:58
Damenikx, собственно не важно
Цитата Сообщение от Damenikx Посмотреть сообщение
находятся в сети
и
Цитата Сообщение от Damenikx Посмотреть сообщение
работает в сети
потому как за это отвечает SMTP протокол и соответственно сервер SMTP развернутый с определенным окружением.
У вас соответственно могут быть закрыты порты SMTP из-за наличия фаервола, или они перемещены, тут узнавать настройку сети надо у сис админов.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.10.2018, 16:24  [ТС]
ДА, спасибо, я разобрался. Просто я слегка невнимателен, всё работает, благодарю!

Добавлено через 14 минут
Только вот программа вытягивает один файл по его имени, а надо все файлы из определённой папки. Их просто туда сбрасывают и с помощью программы нужно все файлы, которые сбросили, отправить по почте.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18288 / 14211 / 5368
Регистрация: 17.03.2014
Сообщений: 28,889
Записей в блоге: 1
03.10.2018, 16:25
Цитата Сообщение от Damenikx Посмотреть сообщение
а надо все файлы из определённой папки.
C#
1
string[] allFiles = System.IO.Directory.GetFiles(@"D:\SomeFolder");
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.10.2018, 16:44  [ТС]
Я так пробовал, но что-то не помогает, не могу к коду привязать к тому, который выше
0
 Аватар для Young Vu
133 / 103 / 43
Регистрация: 01.03.2018
Сообщений: 291
03.10.2018, 17:06
Damenikx, покажите, что вы написали
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
03.10.2018, 17:26  [ТС]
Обязательно покажу завтра, уже уехал домой)
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.10.2018, 08:42  [ТС]
Код точно такой же как вы прислали вчера, только с моими данными.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System.Net; 
using System.Net.Mail; 
 
public void email_send()
{
    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mail.From = new MailAddress("your [email]mail@gmail.com[/email]");
    mail.To.Add("to_mail@gmail.com");
    mail.Subject = "Test Mail - 1";
    mail.Body = "mail with attachment";
 
    System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("путь до файла");
    mail.Attachments.Add(attachment);
 
    SmtpServer.Port = 587;
    SmtpServer.Credentials = new System.Net.NetworkCredential("mail@gmail.com", "password");
    SmtpServer.EnableSsl = true;
    try
    {
       SmtpServer.Send(mail);
    
       Console.WriteLine("mail is send");
    }
    catch (Exception e)
    {
         Console.WriteLine("mail is not send. Error " + e.Message);
     }
}
Добавлено через 1 час 53 минуты
Проблема в том что надо отправлять Все файлы из папки а не один конкретный. Привязать метод GetFiles у меня не получается
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18288 / 14211 / 5368
Регистрация: 17.03.2014
Сообщений: 28,889
Записей в блоге: 1
04.10.2018, 08:51
Цитата Сообщение от Damenikx Посмотреть сообщение
Привязать метод GetFiles у меня не получается
Ну да. Это же так сложно заменить
C#
1
2
3
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment("путь до файла");
mail.Attachments.Add(attachment);
на цикл
C#
1
2
3
4
5
foreach (string attachmentPath in System.IO.Directory.GetFiles(@"D:\SomeFolder"))
{
    var attachment = new System.Net.Mail.Attachment(attachmentPath);
    mail.Attachments.Add(attachment);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2018, 08:51
Помогаю со студенческими работами здесь

Вложенный файл в поле с типом вложение отправить по почте
Подскажите можно ли вложенный файл в поле с типом вложение отправить по почте программно?

Как, используя php, создать doc файл и отправить его по почте?
Добрый день, Необходимо прикреплять аттачем .doc файл (предварительно создав и сформировав) с динамическим содержимым к письму при...

Как отправить файл через контекстное меню по почте (без использования почтовой программы)
Все что описано в интернете - это с использованием почтовой программы. Но вот без нее, а через браузер mozilla и яндекс почту нигде не...

Скачать файл с FTP
сто раз обсуждалось, но все таки, пример не работает, где ошибка порылась? Option Explicit On Public Class Form1 Private...

Как отправить файл на FTP сервер
ЗДРАВСТВУЙТЕ ВЕЛИКИЕ ПРОГРАММИСТЫ! Мне нужна помощь. Я хочу отправить файл на FTP сервер. Я создал 2 файла: Первый 1.bat: ftp -n...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru