自动后台电子邮件ASP .NET

时间:2018-02-16 14:10:14

标签: asp.net asp.net-mvc

我正在尝试为我正在处理的项目添加新功能。

这个想法是,当某个变量获得值时,应用程序会将自动电子邮件作为警告通知发送到邮箱。

我做了一些关于SmtpClient的研究,我相信这是添加这个新功能的最佳方法,但我有一些未解决的问题,我想得到一些建议:

  • 防止电子邮件垃圾邮件:我希望每次更改邮件时都只发送一次此邮件。
  • 电子邮件正文构建:我应该如何构建电子邮件正文。
  • Smtp客户端:是否可以使用多个Smtp客户端?

多数人,请提前谢谢!

2 个答案:

答案 0 :(得分:3)

•防止电子邮件垃圾邮件:我希望每次更改邮件时都只发送一次此电子邮件。

如果是背景事件,那么它如何用于垃圾邮件?您的用户不知道此功能,当您的活动被触发时,将发送电子邮件。

•电子邮件正文建设:我应该如何建立电子邮件正文。

电子邮件正文可以是任何字符串,因此您可以创建任何字符串并发送它。

•Smtp客户:是否可以使用多个Smtp客户端?

它只是一个对象,因此您可以根据需要创建任意数量,但应该只需要一个。

这是可以帮助你的smtp代码..

            var fromAddress = "no.reply@fsdfds.com";
            var toAddress = "email@something.com";
    var subject = "something";
    const string fromPassword = "";
            string body = "Welcome.." + DateTime.Today;
            // smtp settings
            var smtp = new System.Net.Mail.SmtpClient();
            {
                smtp.Host = "smtp.office365.com";
                smtp.Port = 25;
                smtp.EnableSsl = true;
                smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                smtp.UseDefaultCredentials = false;
                smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
                smtp.Timeout = 600000;
            }
            // Passing values to smtp object
                smtp.Send(fromAddress, toAddress, subject, body);

答案 1 :(得分:0)

  1. 在数据库中创建一个表,并有一个后台工作程序来处理电子邮件发送过程。通过这种方式,您可以每10分钟运行一次,并且只有在表中有任何新内容时才会发送邮件。当您发送它时,您可以在一条消息中将最近10分钟内的每个事件组合在一起。

  2. 身体可以是纯文字..

  3. 就像在线程中运行它或者你的意思是什么?