程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#編程完成發送郵件的辦法(可添加附件)

C#編程完成發送郵件的辦法(可添加附件)

編輯:C#入門知識

C#編程完成發送郵件的辦法(可添加附件)。本站提示廣大學習愛好者:(C#編程完成發送郵件的辦法(可添加附件))文章只能為提供參考,不一定能成為您想要的結果。以下是C#編程完成發送郵件的辦法(可添加附件)正文


本文實例講述了C#編程完成發送郵件的辦法。分享給年夜家供年夜家參考,詳細以下:

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Mail;
namespace WindowsFormsApplication63
{
 public partial class Form1 : Form
 {
  public Form1()
  {
   InitializeComponent();
  }
  //翻開上傳附件的對話框
  private void btnUP_Click(object sender, EventArgs e)
  {
   oFDialogSFile.InitialDirectory = "C:\\";//設置對話框的初始目次為C盤
    oFDialogSFile.Filter = "all files (*.*)|*.*";//挑選字符串為一切文件
    oFDialogSFile.RestoreDirectory = true;
   oFDialogSFile.ShowDialog();
   cboxAccessories.Items.Add(oFDialogSFile.FileName.Trim());//被選擇好文件後將文件名賦值給下拉框
  }
  //發送郵件
  private void btnSend_Click(object sender, EventArgs e)
  {
    try
    {
     string file = Application.StartupPath + "testXML.xml";
     //SmtpClient下的一個對象,用以設置郵件的主題和內容
      System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage();
     //發送端到吸收真個郵箱地址
      myMail = new System.Net.Mail.MailMessage(txtSEmail.Text.Trim(), txtCEmail.Text.Trim());
     myMail.Subject = txtETitle.Text.Trim();
     myMail.Body = txtEContent.Text.Trim();
     if (cboxAccessories.Items.Count > 0)
     {
      for (int i = 0; i < cboxAccessories.Items.Count; i++)
      { //樹立郵件附件類的一個對象,語法格局為System.Net.Mail.Attachment(文件名,文件格局)
       System.Net.Mail.Attachment myAttachment = new System.Net.Mail.Attachment(
       cboxAccessories.Items[i].ToString(), System.Net.Mime.MediaTypeNames.Application.Octet);
       //MIME協定下的一個對象,用以設置附件的創立時光,修正時光和讀取時光
       System.Net.Mime.ContentDisposition disposition = myAttachment.ContentDisposition;
       disposition.CreationDate = System.IO.File.GetCreationTime(file);
       disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
       disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
       //用smtpclient對象裡attachments屬性,添加下面設置好的myattachment
       myMail.Attachments.Add(myAttachment);
      }
     }
     //樹立發送對象client,驗證郵件辦事器,辦事器端口,用戶名,和暗碼
     System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(txtSService.Text.Trim(), Convert.ToInt32(txtServicePort.Text.Trim()));
     client.Credentials = new System.Net.NetworkCredential(txtUPwd.Text.Trim(), txtCEmail.Text.Trim());
     client.Send(myMail);
     MessageBox.Show("郵件發送勝利!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (Exception ex)
    {
     MessageBox.Show(ex.Message, "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
   }
  private void 刪除上傳文件_Click(object sender, EventArgs e)
  {
   if (cboxAccessories.Text == "")
   {
    MessageBox.Show("沒有附件可刪!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information);
   }
   else
   {
    cboxAccessories.Items.Remove(cboxAccessories.Text.Trim());
   }
  }
  }
}

後果圖以下:

點擊發送,後果以下

總結一下,發送郵件的進程以下:

1.樹立System.Net.Mail.MailMessage下的對象,設置郵件的內容和主題。
2.假如要添加附件,樹立System.Net.Mail.Attatch下的對象,用1中的對象中的添加附件的屬性讀取它。
3.SEND郵件(MAIL+附件)。

假如要完成群發,則可以將發送郵件的代碼(TRY鄰近的幾行)寫成辦法,輪回挪用便可。

願望本文所述對年夜家C#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved