C# 当有人登录时,每周为多个用户发送一次电子邮件

C# 当有人登录时,每周为多个用户发送一次电子邮件,c#,winforms,email,user-management,C#,Winforms,Email,User Management,我正在用Windows窗体用C#编写一个程序,我被这部分难住了 当任何用户在任何给定的一周内首次登录该程序时,应向所有有任务的用户发送电子邮件(该任务将由管理员分配)。如果用户没有任务,他/她不应该收到电子邮件。当第二个用户登录该周时,不应发送电子邮件 我的意思是,当程序的任何第一个用户登录时,将向所有有任务的用户发送电子邮件(提醒他们完成任务)。问题是我不希望一个用户收到太多重复的电子邮件。我已经有了发送电子邮件的代码,但我需要一种方法来处理其余的过程。我进行了研究,发现Windows服务可能

我正在用Windows窗体用C#编写一个程序,我被这部分难住了

当任何用户在任何给定的一周内首次登录该程序时,应向所有有任务的用户发送电子邮件(该任务将由管理员分配)。如果用户没有任务,他/她不应该收到电子邮件。当第二个用户登录该周时,不应发送电子邮件

我的意思是,当程序的任何第一个用户登录时,将向所有有任务的用户发送电子邮件(提醒他们完成任务)。问题是我不希望一个用户收到太多重复的电子邮件。我已经有了发送电子邮件的代码,但我需要一种方法来处理其余的过程。我进行了研究,发现Windows服务可能是一种选择

还有别的办法吗

public int OutLook_Send_Email_To_User(string user_Email, string email_Subject, string email_Content)
{
    try
    {                
        Outlook.Application outApp = new Outlook.Application();
        Outlook.MailItem outMsg = (Outlook.MailItem)outApp.CreateItem(Outlook.OlItemType.olMailItem);
        Outlook.Recipient outTo = null;

        outApp = new Outlook.Application();
        outMsg = (Outlook.MailItem)outApp.CreateItem(Outlook.OlItemType.olMailItem);

        outTo = (Outlook.Recipient)outMsg.Recipients.Add(user_Email);
        outTo.Type = (int)Outlook.OlMailRecipientType.olTo;
        outTo.Resolve();

        outMsg.Subject = email_Subject;
        outMsg.HTMLBody = email_Content;

        outMsg.Save();
        outMsg.Send();

        outTo = null;
        outMsg = null;
        outApp = null;

        return 0;
    }
    catch (Exception ex)
    {
        return -1;
    }
}

如果没有更多关于您如何处理应用程序登录和任务的信息,就很难回答这个问题。@arbitrarystringofletters如果我展示了所有这些内容,将会有一个很长的故事。那么您能总结一下过程吗?“当第一个用户登录时,电子邮件将每周发送一次,这意味着当第二个用户登录时,不会发送电子邮件。“,这句话对我来说没什么意义。你说的第一和第二是什么意思?你说的这两个完全是用户吗?你是说任务可以分配给多个用户,但电子邮件只发送给第一个用户?@Adrian我的意思是当程序的任何第一个用户登录时,电子邮件将发送给所有有任务的用户(提醒他们执行任务)。目的是我不希望一个用户收到太多重复的电子邮件。