-4

mvc3 のデータベース データを使用して定期的にメールを送信する方法

4

3 に答える 3

2

これを実現するには複数の方法があります。それを実行するWebサービスを作成し、 QuartzSchdulerを使用してスケジュールするための1つの良い方法です 。

于 2012-06-18T13:23:24.910 に答える
0

タイマーを追加して、アプリケーション開始マイサンプルで開始できます。

Global.asax:

void Application_Start(object sender, EventArgs e)
{
    // Create a new Timer with Interval set to 300 seconds(5 Minutes).
    System.Timers.Timer aTimer = new System.Timers.Timer(5 * 60 * 1000);
    aTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);
    aTimer.AutoReset = true;
    aTimer.Enabled = true;
    aTimer.Start();
}
private static void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
{
//Send Email;
}

回答を更新

メールの送信方法:

var mailObj = new System.Net.Mail.MailMessage(from, to, subject, body);
//if your host has smtp server
var SMTPServer = new System.Net.Mail.SmtpClient("localhost"); 
//if your host has not smtp server and you want use gmail
var googleSMTPServer = new System.Net.Mail.SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new System.Net.NetworkCredential("gmailAddress@Gmail.com", "gmailPassword")
};

try
{
    SMTPServer.Send(mailObj);
    // OR
    googleSMTPServer.Send(mailObj); 
}
catch (Exception ex)
{
    //
}

ノート

jgauffinは正しいです!アプリプールはいつでもリサイクルできます。サイトに20分以内に訪問者がいない場合、IISはアプリプールを自動的に停止します。IISで無効にできます

于 2012-06-18T13:22:42.510 に答える
0

MvcMailer NuGet パッケージを試してください。MVCビューをメール本文としてレンダリングできます

于 2012-06-18T13:21:50.123 に答える