C#批量發送郵件程式中用到的兩個函數

來源:互聯網
上載者:User

/// <summary>
/// 發送單封郵件
/// </summary>
/// <param name="MailToAddress"></param>
  public void SendOneEmail(string MailToAddress)
  { 
   string MailFromAddress=txtEmail.Text;   
   string MailTitle=txtEmailTitle.Text;
   string MailContent=txtEmailContent.Text;
   string MailSmtpServer=textBoxsmtp.Text; 
   int TempMailServer=MailFromAddress.IndexOf("@",0);
   string MailUserName=MailFromAddress.Substring(0,TempMailServer); 
   string MailPassword=txtPassword.Text;  
   //string MailDdomain=MailFromAddress.Substring((TempMailServer+1),(MailFromAddress.Length-TempMailServer-1));
   try
   {
    //執行個體化MailMessage對象
    System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage(); 
    //定義郵件的發送地址
    mail.From=MailFromAddress;
    //定義郵件的接收地址
    //設定以分號分隔的收件者電子郵件地址列表
    mail.To=MailToAddress;
    //定義郵件的主題
    mail.Subject=MailTitle;
    //設定電子郵件本文的內容類型
    //在這裡我們以HTML的格式發送
    mail.BodyFormat=System.Web.Mail.MailFormat.Html;
    //設定電子郵件的本文
    mail.Body=MailContent; 
    //SMTP伺服器
    //許多SMTP伺服器都需要身分識別驗證
    System.Web.Mail.SmtpMail.SmtpServer=MailSmtpServer;
    //驗證
    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); 

    //登陸名
    mail.Fields.Add("<A href="http://schemas.microsoft.com/cdo/configuration/sendusername",MailUserName">http://schemas.microsoft.com/cdo/configuration/sendusername",MailUserName); 

    //登陸密碼
    mail.Fields.Add("<A href="http://schemas.microsoft.com/cdo/configuration/sendpassword",MailPassword">http://schemas.microsoft.com/cdo/configuration/sendpassword",MailPassword); 

    //發送
    System.Web.Mail.SmtpMail.Send(mail);
    listBox2.Items.Add(MailToAddress);
    txtSCount.Text=listBox2.Items.Count.ToString();   
    string strEmailSuccessFileName=Application.StartupPath+"//EmailSuccess.txt";
    if (File.Exists(strEmailSuccessFileName))
    {
     StreamWriter strwriterobj=File.AppendText(strEmailSuccessFileName);     
     strwriterobj.WriteLine(MailToAddress);
     strwriterobj.Close();    
    }
    else
    {
     StreamWriter strwriterobj=File.CreateText(strEmailSuccessFileName);  
     strwriterobj.WriteLine(MailToAddress);
     strwriterobj.Close();
    } 
   }
   catch(Exception ee)
   {
    listBox3.Items.Add(MailToAddress);
    txtFCount.Text=listBox3.Items.Count.ToString();
    txtFReport.Text=MailToAddress + "郵件發送失敗" +ee.ToString();
    string strEmailFailed=MailToAddress;
    string strEmailFailedFileName=Application.StartupPath+"//EmailFailed.txt";
    if (File.Exists(strEmailFailedFileName))
    {
     StreamWriter strwriterobj=File.AppendText(strEmailFailedFileName);
     strwriterobj.WriteLine(strEmailFailed);
     strwriterobj.Close();
    }
    else
    {
     StreamWriter strwriterobj=File.CreateText(strEmailFailedFileName);
     strwriterobj.WriteLine(strEmailFailed);
     strwriterobj.Close();
    }
    
    
   }
   txtFinish.Text=(int.Parse(txtFinish.Text)+1).ToString();   
  }
  /// <summary>
  /// 密送郵件
  /// </summary>
  /// <param name="MailToAddress"></param>
  /// <param name="MailBccAddress"></param>
  private void SendTwoEmail(string MailToAddress,string MailBccAddress)
  {
 
   string MailFromAddress=txtEmail.Text;   
   string MailTitle=txtEmailTitle.Text;
   string MailContent=txtEmailContent.Text;
   string MailSmtpServer=textBoxsmtp.Text; 
   int TempMailServer=MailFromAddress.IndexOf("@",0);
   string MailUserName=MailFromAddress.Substring(0,TempMailServer).Trim();
   string MailPassword=txtPassword.Text.Trim();   
   //string MailDdomain=MailFromAddress.Substring((TempMailServer+1),(MailFromAddress.Length-TempMailServer-1));
   try
   { 
    //執行個體化MailMessage對象
    System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage(); 
    //定義郵件的發送地址
    mail.From=MailFromAddress;
    //定義郵件的接收地址
    //設定以分號分隔的收件者電子郵件地址列表
    mail.To=MailToAddress;
    //定義郵件的主題
    mail.Subject=MailTitle;
    //設定電子郵件本文的內容類型
    //在這裡我們以HTML的格式發送
    mail.BodyFormat=System.Web.Mail.MailFormat.Html;
    //設定電子郵件的本文
    mail.Body=MailContent;
    //mail.BodyEncoding.EncodingName.
    //定義郵件的暗送地址
    //設定以分號分隔的電子郵件地址列表
    mail.Bcc=MailBccAddress;
 
    //定義郵件的抄送地址 .抄送會顯示在收件者清單中
    //設定以分號分隔的電子郵件地址列表
    //mail.Cc="xqf222@hotmail.com";
 
    //SMTP伺服器
    //許多SMTP伺服器都需要身分識別驗證
    System.Web.Mail.SmtpMail.SmtpServer=MailSmtpServer;
 
    //驗證
    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); 

    //登陸名
    mail.Fields.Add("<A href="http://schemas.microsoft.com/cdo/configuration/sendusername",MailUserName">http://schemas.microsoft.com/cdo/configuration/sendusername",MailUserName); 

    //登陸密碼
    mail.Fields.Add("<A href="http://schemas.microsoft.com/cdo/configuration/sendpassword",MailPassword">http://schemas.microsoft.com/cdo/configuration/sendpassword",MailPassword);

 
    //發送
    System.Web.Mail.SmtpMail.Send(mail);
    listBox2.Items.Add(MailToAddress);
    listBox2.Items.Add(MailBccAddress);
    txtSCount.Text=listBox2.Items.Count.ToString();
   
    string strEmailSuccessFileName=Application.StartupPath+"//EmailSuccess.txt";
 
    if (File.Exists(strEmailSuccessFileName))
    {
     StreamWriter strwriterobj=File.AppendText(strEmailSuccessFileName);     
     strwriterobj.WriteLine(MailToAddress);
     strwriterobj.WriteLine(MailBccAddress);
     strwriterobj.Close();    
    }
    else
    {
     StreamWriter strwriterobj=File.CreateText(strEmailSuccessFileName);  
     strwriterobj.WriteLine(MailToAddress);
     strwriterobj.WriteLine(MailBccAddress);
     strwriterobj.Close();
    }   

   }
   catch(Exception ee)
   {
    listBox3.Items.Add(MailToAddress);
    listBox3.Items.Add(MailBccAddress);
    txtFCount.Text=listBox3.Items.Count.ToString();
    txtFReport.Text= "郵件發送失敗地址:" +"/r/n"+ MailToAddress+"/r/n" +MailBccAddress+ "/r/n"  +ee.ToString();   
    string strEmailFailedFileName=Application.StartupPath+"//EmailFailed.txt";
    if (File.Exists(strEmailFailedFileName))
    {
     StreamWriter strwriterobj=File.AppendText(strEmailFailedFileName);
     strwriterobj.WriteLine(MailToAddress);
     strwriterobj.WriteLine(MailBccAddress);
     strwriterobj.Close();
    }
    else
    {
     StreamWriter strwriterobj=File.CreateText(strEmailFailedFileName);
     strwriterobj.WriteLine(MailToAddress);
     strwriterobj.WriteLine(MailBccAddress);
     strwriterobj.Close();
    }
    
    
   }
   txtFinish.Text=(int.Parse(txtFinish.Text)+1).ToString();   
  } 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.