C#网络编程:用Visual C#发送电子邮件(1)_第1页
C#网络编程:用Visual C#发送电子邮件(1)_第2页
C#网络编程:用Visual C#发送电子邮件(1)_第3页
C#网络编程:用Visual C#发送电子邮件(1)_第4页
C#网络编程:用Visual C#发送电子邮件(1)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C#C#网络编程:用网络编程:用 VisualVisual C#C#发送电子邮件发送电子邮件(1)(1)Visual C#是微软公司推出的下一代程序开发语言。他不仅具有 Visual C+功能强大的特点,又具有 Visual Basic 的简洁,易上手的特点。所以一经推出,就收到了广大程序开发人员的欢迎。Visual C#和 Visual C+的一个明显的区别在于,Visual C#本身是没有类库的,而 Visual C+却是自身就带有类库。Visual C#虽然没有类库,但作为.Net 框架中的一个十分重要的开发语言。他可以使用.Net 框架提供的一个通用的软件开发包-.Net FrameW

2、ork SDK。这个软件开发包可以说是 Visual C#功能的延伸,Visual C#就是通过他实现了自身无法实现的很多功能。本文就是来介绍 Visual C#如何利用这个软件开发包来发送电子邮件的。一软件开发和运行的环境设置一软件开发和运行的环境设置I .视窗系统 2000 服务器版II .Net FrameWork SDK Beta 2 版III .打开控制面板,进入添加和删除程序,然后再点击添加/删除Windows 组件,就可以看见以下界面:图 01:系统配置界面点中Internet 信息服务( IIS ),然后点击详细信息,可得到如下界面:图 02:系统配置界面点中选择SMTP Se

3、rverce选项,然后按确定按钮。再按下一步按钮,则系统在重新启动后,就会安装好运行本文程序所需要的 SMTP Service 了。二二VisualVisual C#C#如何发送电子邮件:如何发送电子邮件:在.Net FrameWork SDK Beta 2 版中,有一个叫做 System.Web.Mail 的名称空间,在这个名称空间中封装发送电子邮件的方法、对象和属性。Visual C#就是通过调用此名称空间中的方法、对象和属性,发送电子邮件的。在本文中,发送电子邮件主要用到了二个对象:一个是 MailMessage 对象,此对象主要是封装电子邮件的各个属性,即所谓的发信人,收信人,信件的主

4、题,信件的内容和信件的附件等。另外一个是 SmtpMail 对象,这个对象的最大作用是把已经定义好各个属性的 MailMessage 对象给发送出去,而完成此功能,就需要调用SmtpMail 对象的 Send ( )方法。三在三在 VisualVisual C#C#中正确使用发送电子邮件相关的对象:中正确使用发送电子邮件相关的对象:(1).要调用对象,当然首先就要在程序的最前面导入封装对象的名称空间,具体如下:using System.Web.Mail ;(2).正确定义 MailMessage 对象的属性:MailMessage 对象中和电子邮件相关的属性可以用下表来表示:属性名称代表意义F

5、rom源地址To目的地址Subject邮件主题Priority邮件优先级 ( High , Low , Normal )Attachments附件Bcc暗送地址Cc抄送地址Body邮件内容主体Bodyformat邮件格式( Html , Text )Bodyencoding邮件编码( Base64 , Uuencode )在程序中,具体的实现语句如下:MailMessage aMessage = new MailMessage ( ) ;/新建一个 MailMessage 对象aMessage.From = FromTextBox.Text ;/定义发信人地址,如果是多人,可以用,分开aMes

6、sage.To = ToTextBox.Text ;/定义收信人地址,如果是多人,可以用,分开aMessage.Cc = CCTextBox.Text ;/定义抄送人地址,如果是多人,可以用,分开aMessage.Bcc = BCCTextBox.Text ;/定义暗送人地址,如果是多人,可以用,分开aMessage.Subject = SubjectTextBox.Text ;/定义邮件的主题aMessage.Body = MessageTextBox.Text ;/定义邮件的内容if ( AttachmentTextBox.Text.Length 0 )aMessage.Attachmen

7、ts.Add ( new MailAttachment( AttachmentTextBox.Text , MailEncoding.Base64 ) ) ;/给邮件增加一个附件注:右边是程序中定义的文本框的Text值。(3).用 SmtpMail 对象正确发送电子邮件:在 Visual C#中调用 SmtpMail 对象的 Send ( )方法有多种方式。本文介绍的只是其中的一种比较常用的调用方式,即:SmtpMail.Send ( MailMessage 对象 )。在程序中的实现语句如下:SmtpMail.Send ( aMessage ) ;四本文源程序代码四本文源程序代码( ( Sen

8、d.csSend.cs ) )以及程序运行界面:以及程序运行界面:下图是编译好的程序的运行界面:图 03:Send.cs 程序运行界面以下是 Send.cs 源程序代码:using System ;using System.Drawing ;using System.Collections ;using System.ComponentModel ;using System.Windows.Forms ;using System.Data ;using System.Web ;using System.Web.Mail ;/导入程序中使用到的名称空间public class Form1 : F

9、ormprivate Label label1 ;private Label label2 ;private Label label3 ;private Button SendButton ;private Button ExitButton ;private TextBox FromTextBox ;private TextBox ToTextBox ;private TextBox SubjectTextBox ;private TextBox MessageTextBox ;private TextBox CCTextBox ;private Label CCLabel ;private

10、 TextBox BCCTextBox ;private Label label4 ;private Label label5 ;private Button BrowseButton ;private OpenFileDialog openFileDialog1 ;private TextBox AttachmentTextBox ;private System.ComponentModel.Container components = null ;public Form1 ( )InitializeComponent ( ) ;/清除在程序中使用的所有资源protected overrid

11、e void Dispose ( bool disposing )if ( disposing )if ( components != null )components.Dispose ( ) ;base.Dispose ( disposing ) ;private void InitializeComponent ( )MessageTextBox = new TextBox ( ) ;ToTextBox = new TextBox ( ) ;SendButton = new Button ( ) ;ExitButton = new Button ( ) ;FromTextBox = new

12、 TextBox ( ) ;label1 = new Label ( ) ;SubjectTextBox = new TextBox ( ) ;label2 = new Label ( ) ;label3 = new Label ( ) ;CCTextBox = new TextBox ( ) ;CCLabel = new Label ( ) ;BCCTextBox = new TextBox ( ) ;label4 = new Label ( ) ;label5 = new Label ( ) ;AttachmentTextBox = new TextBox ( ) ;BrowseButto

13、n = new Button ( ) ;openFileDialog1 = new OpenFileDialog ( ) ;FromTextBox.Location = new System.Drawing.Point ( 96 , 16 ) ;FromTextBox.Name = FromTextBox ;FromTextBox.Size = new System.Drawing.Size ( 240 , 20 ) ;FromTextBox.TabIndex = 0 ;FromTextBox.Text = ;ToTextBox.Location = new System.Drawing.Po

14、int ( 96 , 53 ) ;ToTextBox.Name = ToTextBox ;ToTextBox.Size = new System.Drawing.Size ( 240 , 20 ) ;ToTextBox.Text = ;ToTextBox.TabIndex = 1 ;CCTextBox.Location = new System.Drawing.Point ( 96 , 88 ) ;CCTextBox.Name = CCTextBox ;CCTextBox.Size = new System.Drawing.Size ( 240 , 20 ) ;CCTextBox.TabInd

15、ex = 2 ;CCTextBox.Text = ;BCCTextBox.Location = new System.Drawing.Point ( 96 , 120 ) ;BCCTextBox.Name = BCCTextBox ;BCCTextBox.Size = new System.Drawing.Size ( 240 , 20 ) ;BCCTextBox.TabIndex = 3 ;BCCTextBox.Text = ;SubjectTextBox.Location = new System.Drawing.Point ( 96 , 152 ) ;SubjectTextBox.Nam

16、e = SubjectTextBox ;SubjectTextBox.Size = new System.Drawing.Size ( 240 , 20 ) ;SubjectTextBox.TabIndex = 4 ;SubjectTextBox.Text = ;AttachmentTextBox.Location = new System.Drawing.Point ( 96 , 184 ) ;AttachmentTextBox.Name = AttachmentTextBox ;AttachmentTextBox.Size = new System.Drawing.Size ( 168 ,

17、 20 ) ;AttachmentTextBox.TabIndex = 5 ;AttachmentTextBox.Text = ;MessageTextBox.Location = new System.Drawing.Point ( 8 , 216 ) ;MessageTextBox.Multiline = true ;MessageTextBox.Name = MessageTextBox ;MessageTextBox.Size = new System.Drawing.Size ( 320 , 152 ) ;MessageTextBox.Text = ;MessageTextBox.T

18、abIndex = 6 ;BrowseButton.Location = new System.Drawing.Point ( 280 , 184 ) ;BrowseButton.Name = BrowseButton;BrowseButton.Size = new System.Drawing.Size ( 56 , 24 ) ;BrowseButton.Text = 浏览文件 ;BrowseButton.TabIndex = 7 ;BrowseButton.Click += new System.EventHandler ( BrowseButton_Click ) ;SendButton

19、.Location = new System.Drawing.Point ( 64 , 380 ) ;SendButton.Name = SendButton ;SendButton.Size = new System.Drawing.Size ( 72 , 24 ) ;SendButton.Text = 发送邮件 ;SendButton.TabIndex = 8 ;SendButton.Click += new System.EventHandler ( SendButton_Click ) ;ExitButton.Location = new System.Drawing.Point (

20、200 , 380 ) ;ExitButton.Name = ExitButton ;ExitButton.Size = new System.Drawing.Size ( 72 , 24 ) ;ExitButton.Text = 退出程序;ExitButton.TabIndex = 9 ;ExitButton.Click += new System.EventHandler ( ExitButton_Click ) ;label1.Font = new System.Drawing.Font ( 宋体, 9F );label1.Location = new System.Drawing.Po

21、int ( 48 , 16 ) ;label1.Name = label1 ;label1.Size = new System.Drawing.Size ( 48 , 16 ) ;label1.Text = 发信人: ;label2.Font = new System.Drawing.Font ( 宋体, 9F );label2.Location = new System.Drawing.Point ( 48 , 53 ) ;label2.Name = label2 ;label2.Size = new System.Drawing.Size ( 48 , 16 ) ;label2.Text

22、= 收信人: ;label3.Font = new System.Drawing.Font ( 宋体, 9F ) ;label3.Location = new System.Drawing.Point ( 48 , 152 ) ;label3.Name = label3 ;label3.Size = new System.Drawing.Size ( 48 , 16 ) ;label3.Text = 主 题: ;CCLabel.Font = new System.Drawing.Font ( 宋体, 9F ) ;CCLabel.Location = new System.Drawing.Poi

23、nt ( 48 , 88 ) ;CCLabel.Name = CCLabel ;CCLabel.Size = new System.Drawing.Size ( 48 , 16 ) ;CCLabel.Text = 抄 送: ;label4.Font = new System.Drawing.Font ( 宋体, 9F ) ;label4.Location = new System.Drawing.Point ( 48 , 120 ) ;label4.Name = label4 ;label4.Size = new System.Drawing.Size ( 48 , 16 ) ;label4.

24、Text = 暗 送: ;label5.Font = new System.Drawing.Font ( 宋体, 9F ) ;label5.Location = new System.Drawing.Point ( 48 , 184 ) ;label5.Name = label5 ;label5.Size = new System.Drawing.Size ( 48 , 16 ) ;label5.Text = 附 件: ;openFileDialog1.Title = 选择文件作为邮件的附件: ;this.AutoScaleBaseSize = new System.Drawing.Size

25、( 5 , 13 ) ;this.ClientSize = new System.Drawing.Size ( 344 , 413 ) ;this.Controls.Add ( BrowseButton ) ;this.Controls.Add ( AttachmentTextBox ) ;this.Controls.Add ( label5 ) ;this.Controls.Add ( label4 ) ;this.Controls.Add ( BCCTextBox ) ;this.Controls.Add ( CCLabel ) ;this.Controls.Add ( CCTextBox

26、 ) ;this.Controls.Add ( ExitButton ) ;this.Controls.Add ( SendButton ) ;this.Controls.Add ( label3 ) ;this.Controls.Add ( label2 ) ;this.Controls.Add ( label1 ) ;this.Controls.Add ( SubjectTextBox ) ;this.Controls.Add ( ToTextBox ) ;this.Controls.Add ( FromTextBox ) ;this.Controls.Add ( MessageTextB

27、ox ) ;this.Name = Form1 ;this.Text = 用 Visual C#做邮件发送软件! ;this.ResumeLayout ( false );static void Main ( )Application.Run ( new Form1 ( ) ) ;private void SendButton_Click ( object sender , System.EventArgse )tryMailMessage aMessage = new MailMessage ( ) ;/新建一个 MailMessage 对象aMessage.From = FromTextBox.Text ;/定义发信人地址,如果是多人,可以用,分开aMessage.To = ToTextBox.Text ;/定义收信人地址,如果是多人,可以用,分开aMessage

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论