Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
po-link-a
1 / 1 / 1
Регистрация: 11.04.2014
Сообщений: 43
1

Автоматическая рассылка почты при наступлении определенного события

31.07.2014, 18:14. Просмотров 1556. Ответов 8
Метки нет (Все метки)

Есть база данных, которая генерится при помощи Code First
В ней есть таблица Счета. У каждого счета есть конечная дата(до когда его надо оплатить).
Как сделать так, чтоб каждый день, начиная с КонечначДата-3 на определенный емейл отправлялось письмо с уведомлением?

Спасибо заранее
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2014, 18:14
Ответы с готовыми решениями:

Ошибка при использовании CDONTS при отправке почты
Помогите, пожалуйста, решить такую проблему. При создании объекта...

Проигрывание звуков в приложении при наступлении определенного события
Есть фоновая музыка begin fsound := new System.Media.SoundPlayer; // ...

Автоматическая рассылка почты в указанное время через Outlook!
Здравствуйте. Возникла такая идея. Пользуюсь Аутлуком для отправки почты....

Повторение цикла при наступлении определенного условия
Добрый день! Я пишу игру и пытаюсь сделать разыгровку первого хода. Загвоздка в...

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

8
Alex_student
18 / 18 / 8
Регистрация: 10.02.2013
Сообщений: 250
Завершенные тесты: 1
01.08.2014, 11:40 2
насколько я понимаю в данном случае можно сделать маленький веб сервис, в котором используя класс Time, раз в сутки производить выборку и проверку данных из БД по нужному условию и делать рассылку....
0
po-link-a
1 / 1 / 1
Регистрация: 11.04.2014
Сообщений: 43
01.08.2014, 11:42  [ТС] 3
Зачем тут веб-сервис? Можно ли обойтись без него? Если нет - как его реализовать? Если да - аналогичный вопрос.
Спасибо
0
Alex_student
18 / 18 / 8
Регистрация: 10.02.2013
Сообщений: 250
Завершенные тесты: 1
01.08.2014, 12:41 4
Насчет веб сервиса сужу из того, что у нас по работе так реализовано...ну опять же попробуйте тайминг использовать на самом сайте или принудительно на кнопку жмякать и производить рассылку.
0
po-link-a
1 / 1 / 1
Регистрация: 11.04.2014
Сообщений: 43
01.08.2014, 15:27  [ТС] 5
нет, как по кнопке сделать - я знаю. мне нужно именно по времени? каким образом реализовать вот этот тайминг? именно с техн точки зрения? можно хоть маленький пример кода?
0
Alex_student
18 / 18 / 8
Регистрация: 10.02.2013
Сообщений: 250
Завершенные тесты: 1
01.08.2014, 15:47 6
Лучший ответ Сообщение было отмечено po-link-a как решение

Решение

вот примерный класс:
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
internal class Timer
    {
        private Timer firstFlow;
 
        private Timer secondFlow;
 
        private ElapsedEventHandler[] tasks;
 
        public Timer(params ElapsedEventHandler[] tasks)
        {
            firstFlow = new Timer();
            secondFlow = new Timer();
            this.tasks = tasks;
            StartOne();
        }
 
        private void StartOne()
        {
            firstFlow.Interval =  60 * 60 * 1000;
            firstFlow.Elapsed += new ElapsedEventHandler(FirstMetod);
            foreach (var task in tasks)
            {
                firstFlow.Elapsed += task;
            }
            firstFlow.Start();
        }
        private void StartTwo(int interval)
        {
            secondFlow.Interval = interval;
            foreach (var task in tasks)
            {
                secondFlow.Elapsed += task; 
            }
            secondFlow.Start();
        }
        private void FirstMetod(object source, ElapsedEventArgs e)
        {
                firstFlow.Stop();
                StartTwo(24 * 60 * 60 * 1000);
        }
    }
надеюсь поможет)
1
po-link-a
1 / 1 / 1
Регистрация: 11.04.2014
Сообщений: 43
01.08.2014, 17:05  [ТС] 7
Спасибо, буду пробовать)
0
Alex_student
18 / 18 / 8
Регистрация: 10.02.2013
Сообщений: 250
Завершенные тесты: 1
04.08.2014, 09:17 8
забыл уточнить, но может уже сами разобрались)
firstFlow -- вызываем действие в первый раз и выводим его на определенное время ( можно вывести на определенное время выполнения, допустим на 2-4 часа ночи, когда сервер будет менее нагружен)
secondFlow -- действие которое уже будет повторятся постоянно через сутки допустим или как выставите (второе действие может и не надо вам)
надеюсь совет хоть чуть помог вам
0
po-link-a
1 / 1 / 1
Регистрация: 11.04.2014
Сообщений: 43
04.08.2014, 16:15  [ТС] 9
Alex_student, спасибо, я нашла уже как делать. Не знаю, может это просто опечатка. Думаю, вы хотели сказать windows service, а не web service.

Если у кого-то возникнет такая же проблема, читать надо тут: и тут
0
04.08.2014, 16:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2014, 16:15

Действие при наступлении определённого события
Добрый день. Интересует такой вопрос: Допустим, я сделал форму с кнопкой....

Скрытие ComboBox при наступлении события
Здравствуйте! Прошу, пожалуйста, объяснить мне. У меня имеется форма, на...

Выход из цикла при наступлении события
Я знаю WinAPI довольно плохо, но вопрос такой: допустим у нас есть бесконечный...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru