如何自动发送电子邮件

本文关键字:电子邮件 何自动 | 更新日期: 2023-09-27 18:30:17

我正在尝试使用计时器自动发送电子邮件。 下面给出的代码是我用于发送电子邮件的。但它没有回应。在按钮单击事件下使用相同的代码时,它运行良好。帮助我找到一个合适的解决方案。谢谢。

法典:

namespace AlertMail
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            MailMessage loginInfo = new MailMessage();
            string em = "toAddress@gmail.com";
            loginInfo.To.Add(em.ToString());
            loginInfo.From = new MailAddress("fromAddress@gmail.com");
            loginInfo.Subject = "Alert Information";
            loginInfo.Body = "Hai";
            loginInfo.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com";
            smtp.Port = 587;
            smtp.EnableSsl = true;
            smtp.Credentials = new System.Net.NetworkCredential("fromAddress@gmail.com", "Password");
            smtp.Send(loginInfo);
            label6.Text = "Alert is send to your email..!!";
        }
   }
}

如何自动发送电子邮件

在许多Web应用程序中,我们需要发送计划(自动)电子邮件并安排它们。 喜欢:

  1. 定期发送电子邮件
  2. 每天、每周、每月或每年发送一次消息。

为此,我们通常使用Windows服务或Windows应用程序。

正如我们所知,Web服务器IIS正在持续运行,我们可以在应用程序中添加一个计时器,计时器可以管理所有这些活动

//Inside Global.ascx 
      void Application_Start(object sender, EventArgs e) 
    {
      // Code that runs on application startup
     System.Timers.Timer myTimer = new System.Timers.Timer();
      // Set the Interval to 5 seconds (5000 milliseconds).
     myTimer.Interval = 5000;
     myTimer.AutoReset = true;
     myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
     myTimer.Enabled = true; 
     } 
 public void myTimer_Elapsed(object source, System.Timers.ElapsedEventArgs e)
{
     // use your mailer code 
    clsScheduleMail objScheduleMail = new clsScheduleMail();
    objScheduleMail.SendScheduleMail();   
}
// inside your class
public void SendScheduleMail()
{ 
  // Write your send mail code here.
} 

通常,当我需要在Windows服务器上按计划运行某些内容时,我会使用计划任务。 可以将电子邮件文章编写为 Console 应用程序,将其保存到服务器上的某个位置,然后让计划任务按给定的时间间隔运行该应用程序。 我不确定您运行的是哪个版本的 Windows,但这些说明适用于 Windows 2008、Windows 8 和 Windows 2012:

http://technet.microsoft.com/en-us/library/cc725745.aspx