NaniCh Ответов: 3

Автоматическая отправка электронных писем...


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



спасибо...

3 Ответов

Рейтинг:
2

Prasad_Kulkarni

служба Windows[^]- это лучший выбор.
См. подробнее: http://msdn.microsoft.com/en-us/library/d56de412(против.80).aspx-файл[^]

Асинхронная отправка автоматизированных электронных писем с использованием службы Windows C# в сочетании с записями электронной почты базы данных – Часть I[^]
Асинхронная отправка автоматизированных электронных писем с использованием службы Windows C# в сочетании с записями электронной почты базы данных Часть II[^]

В качестве альтернативы вы можете использовать Планировщик Задач (Windows)[^]
Сравнение о Планировщик задач против Службы Windows[^]

Или использовать Задания SQL Server[^]
SQL Database Mail-отправка электронных писем с SQL Server[^]
SQL Database Mail-отправка результатов T-SQL по электронной почте[^]

Кстати, нашел хорошую статью в CP(Nice article)
Имитация службы Windows с помощью ASP.NET для выполнения запланированных заданий[^]

Проверять Ответы CodeProject[^] за аналогичный вопрос, заданный ранее.


NaniCh

спасибо вам за помощь...
я использую этот код, это может быть ask setup file. мне не нужен был установочный файл... пожалуйста, скажите мне, как написать код через сервис wcf для этого...

Рейтинг:
2

SreeniChamp

Самый простой способ включить Quartz.NET в вашем приложении это происходит через Nuget. Это можно сделать, набрав Install-Package Quartz в командной строке консоли диспетчера пакетов или щелкнув правой кнопкой мыши проект в обозревателе решений Visual Studio и выбрав пункт Управление пакетами Nuget.


Quartz consists of 3 primary components - a job, a trigger and a scheduler


Создание задания для выполнения

using Quartz;
using System;
using System.Net;
using System.Net.Mail;

namespace ScheduledTaskExample.ScheduledTasks
{
    public class EmailJob : IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            using (var message = new MailMessage("user@gmail.com", "user@live.co.uk"))
            {
                message.Subject = "Test";
                message.Body = "Test at " + DateTime.Now;
                using (SmtpClient client = new SmtpClient
                {
                    EnableSsl = true,
                    Host = "smtp.gmail.com",
                    Port = 587,
                    Credentials = new NetworkCredential("user@gmail.com", "password")
                })
                {
                    client.Send(message);
                }
            }
        }
    }
}


Настройка планировщика и триггера

using Quartz;
using Quartz.Impl;
using System;

namespace ScheduledTaskExample.ScheduledTasks
{
    public class JobScheduler
    {
        public static void Start()
        {
            IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
            scheduler.Start();

            IJobDetail job = JobBuilder.Create<EmailJob>().Build();

            ITrigger trigger = TriggerBuilder.Create()
                .WithDailyTimeIntervalSchedule
                  (s =>
                     s.WithIntervalInHours(24)
                    .OnEveryDay()
                    .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(0, 0))
                  )
                .Build();

            scheduler.ScheduleJob(job, trigger);
        }
    }
}


Надеюсь, это поможет!


Рейтинг:
0

perilbrain

Взять справку из

http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx[^]

У этого есть хорошая коллекция образцов
http://archive.msdn.microsoft.com/nclsamples/Wiki/View.aspx?title=Mailer[^]


NaniCh

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

perilbrain

http://msdn.microsoft.com/en-us/magazine/cc163821.aspx
есть этот, пожалуйста, проверьте...если он полезен