Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 109
1

Как создать сервис, который в указаное время отсылал бы почту с данными из SQL

11.07.2019, 11:09. Показов 564. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Может кто сталкивался. Нужно создать автоматическую рассылку писем с данными из сервера SQL. Есть рабочий вариант, но на кнопку надо нажати руками и тогда отсылает. Как сделать автоматически ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2019, 11:09
Ответы с готовыми решениями:

Как создать веб-сервис, который будет извлекать аудио из видео?
Всем доброго времени суток! Появилась идея создания веб-сервиса, вырезающего аудио из видео и...

Как создать сервис, который не убивается встроенным в андроид таск киллером?
Здравствуйте! Нужно создать такой сервис, который будет продолжать работу (например системные...

Завершить программу в указаное время
Здравствуйте, есть необходимость в указанное время (к примеру в 11:00:00) завершить работу...

Как создать таймер, который будет показывать время работы программы
как создать таймер который будет показывать время работы программы надо что бы до тысячных секунды,...

6
112 / 99 / 68
Регистрация: 21.04.2014
Сообщений: 1,409
11.07.2019, 11:41 2
А не подойдёт ли просто вариант с таймером (System.Windows.Forms.Timer) ?
Если нет, то может создать приложение, которое будет это делать просто при запуске и добавить его в планеровщик задач Windows?
0
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 109
11.07.2019, 13:36  [ТС] 3
имеешь в виду в уже написаную пробграму вставить таймер вместо нажатии на кнопку ? или просто в расписание Виндовс добавить программу, она запустится всё что надо сделает и закроется ?
0
1280 / 861 / 256
Регистрация: 08.08.2014
Сообщений: 2,461
11.07.2019, 13:49 4
vadca
1. Добавить параметр командной строки, при наличии которого будет загружаться не главная форма приложения, а выполняться вызов того функционала, который сейчас вызывается по кнопке. После выполнения запрошенной операции приложение должно завершать работу.
2. Настроить рапсписание вызова полученного приложения через стандартный виндовый планировщик.
0
130 / 68 / 31
Регистрация: 24.07.2018
Сообщений: 787
11.07.2019, 13:50 5
vadca, да. В проект можешь поставить таймер, но для этого надо, чтобы он был всегда запущен(возможно есть какой то другой способ еще) Либо в планировщик событий винды надо поставить, чтобы твоя программа запускалась в определенное время и выполнило, что надо. Но думаю опять же если у тебя она работает через кнопку, придется программу немного допиливать.
0
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 109
11.07.2019, 14:08  [ТС] 6
kotelok, добрый человек, может у тебя есть пример того что ты написал ?
вот мой код. что нужно допилить ?
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'dataSet1.SVF_skolos_v1' table. You can move, or remove it, as needed.
            this.sVF_skolos_v1TableAdapter.Fill(this.dataSet1.SVF_skolos_v1);
            sVFskolosv1BindingSource.Sort = "kli_kod asc";
            
        }
               
        
        private void btn_send_all_Click(object sender, EventArgs e)
        {
            try
            {
                MailMessage mail = new MailMessage();
                SmtpClient SmtpServer = new SmtpClient("xxx.xxx.xx");
                mail.From = new MailAddress("xxx@xx.xx");
                mail.To.Add("xxx@xxx.xx");                
                mail.Subject = "xxxxxxxxxxx";
                mail.IsBodyHtml = true;
                mail.Body = htmlMessageBody(GridView1).ToString();
                SmtpServer.Port = 25;
                SmtpServer.Credentials = new System.Net.NetworkCredential("xxxxx@xxxx.xxx", "xxxxx");
                //SmtpServer.EnableSsl = true;
                SmtpServer.Send(mail);
                MessageBox.Show("Informavimo laiškas išsiųstas");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
 
        }
        private StringBuilder htmlMessageBody(DataGridView dg)
        {
            StringBuilder strB = new StringBuilder();
            //create html & table
            strB.AppendLine("<html><body><center><table border='1' cellpadding='0' cellspacing='0'>");
            strB.AppendLine("<tr>");
            //cteate table header
            for (int i = 0; i < dg.Columns.Count; i++)
            {
                strB.AppendLine("<td align='center' valign='middle'>" + dg.Columns[i].HeaderText + "</td>");
            }
            //create table body
            strB.AppendLine("<tr>");
            for (int i = 0; i < dg.Rows.Count; i++)
            {
                strB.AppendLine("<tr>");
                foreach (DataGridViewCell dgvc in dg.Rows[i].Cells)
                {
                    strB.AppendLine("<td align='center' valign='middle'>" + dgvc.Value.ToString() + "</td>");
                }
                strB.AppendLine("</tr>");
 
            }
            //table footer & end of html file
            strB.AppendLine("</table></center></body></html>");
            return strB;
        }
0
1280 / 861 / 256
Регистрация: 08.08.2014
Сообщений: 2,461
11.07.2019, 14:30 7
vadca
1. Вынести код отправки уведомления в самостоятельный класс с public-методом.
2. В методе 'Main' проверить, входные параметры и, либо запустить приложение в обычном режиме, либо просто вызвать метод отправки из п.1 (если на входе есть какой-то определённый параметр командной строки).
3. Через виндовый шедулер настроить вызвоз приложения с указанным в п.2. параметром командной строки.
0
11.07.2019, 14:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.07.2019, 14:30
Помогаю со студенческими работами здесь

Как отправить данные с корзины и данными клиента на почту
Добрый день, занимаюсь сайтом, друг помог реализовать отправку данных с корзины на почту, но в...

Возможно ли создать bat-ник который заходил бы на сайт (http://www.cyberforum.ru) и сам вводил почту и пароль?
Возможно ли создать bat-ник который заходил бы на сайт (https://www.cyberforum.ru) и сам вводил...

Создать класс время с данными-членами часы, минуты, секунды
отучилась на программиста уже год, но пока что как-то тяжко с заданиями, тем более с классами, не...

Создать шаблон класса, который обеспечивает действия над данными параметризованного массива
Как сделать динамический массив? #include&lt;iostream&gt; using namespace std; int main() { ...

Создать PHP-скрипт, который возвращает пользователю HTML-страницу с введенными в Web-форму данными
1. Создать PHP-скрипт, который возвращает пользователю HTML-страницу с введенными в Web-форму...

Создать триггер, который записывает в таблицу время внесения изменения...
Создать триггер, который записывает в таблицу tblCustomLog информацию про время внесения изменения...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru