System.Net.Mail命名空间包含用于将电子邮件发送到简单邮件传输协议(SMTP)服务器进行传送的类。
在此命名空间中,有两个很重要的类;
MailMessage
表示可以使用SmtpClient类发送的电子邮件,主要用于设置发送电子邮件时,收件人、发件人及邮件内容的一些相关信息。
属性:
AlternateViews 获取用于存储邮件正文的替代式的附件集合
Attachments 获取用于存储附加到此电子邮件的数据的附件集合
Bcc 获取包含此电子邮件的密件抄送收件人的地址集合
Body 获取或设置邮件的正文
BodyEncoding 获取或设置用于邮件的编码
CC 获取包含电子邮件的发送通知
Headers 获取与此电子邮件一起传送的电子邮件标头
IsBodyHtm 获取或设置指示邮件正文是否为Html格式的值
Priority 获取或设置此电子邮件的优先级
ReplyTo 获取或设置邮件的回复地址
Sender 获取或设置此电子邮件的发件人地址
Subject 获取或设置此电子邮件的主题行
SubjectEncoding 获取或设置此电子邮件的主题内容使用的编码
To 获取包含此电子邮件的收件人的地址集合
SmtpMessage
SmtpClient类允许应用程序使用简单邮件传输协议来发送电子邮件,若要使用 SmtpClient构造并发送邮件,必须制定以下内容;
1.用来发送电子邮件的SMTP主机服务器;
2.身份验证任据(如果SMTP服务器要求);
3.发件人的电子邮件地址;
4.收件人的电子邮件地址;
5.邮件内容;
属性:
Credentials 获取或设置用于验证大贱人身份的凭据
DeliveryMethod 制定如何处理代发的电子邮件
Enablessl 制定SmtpClient是否使用安全套字层(SSL)加密连接
Host 获取或设置用于SMTP事务的主机名称或IP地址
PickupddirectoryLocation 获取或设置文件夹,应用程序在该文件夹中保存将由本地SMTP服务器处理的邮件
Port 获取或设置用于SMTP事务的端口
Servicepoint 获取用于传输电子邮件的网络连接
Send 发送电子邮件。该方法在传输的过程中将会阻止其他操作
SendAsysnc 发送电子邮件。此方法不会阻止调用线程
SendAsyncCancel 取消异步操作已发送电子邮件
TimeOut 获取或设置一个值,该值指定同步Send调用的超时时间
UseDefaultCredentials 获取或设置Boolean值,该值控制DefaultCredential是否随请求一起发送
private void button1_Click(object sender, EventArgs e) { /*发邮件步骤 * 1.首先要发件人地址,密码,服务器的类型 * * 2.收件人地址 主题等! * * */ //表示可以使用 System.Net.Mail.SmtpClient 类发送的电子邮件。 MailMessage mail = new MailMessage(); string mymail = TxtUser.Text; string mypwd = TxtPassword.Text; //是否获取HTML格式的值 mail.IsBodyHtml = true; //设置此电子邮件的发件人地址 mail.From = new MailAddress(mymail); //获取包含此电子邮件收件人的地址集合 mail.To.Add(new MailAddress(TxtshouAdress.Text)); //设置此电子邮箱的主题行 mail.Subject = TxtMailmain.Text; //设置电子邮箱的正文 mail.Body = textBox6.Text; //设置用于邮件正文的编码 mail.BodyEncoding = System.Text.Encoding.UTF8; //允许应用程序使用简单邮件传输协议 (SMTP) 来发送电子邮件。 SmtpClient cl = new SmtpClient(tetServer.Text); //获取或设置Boolean值,该值控制DefaultCredential是否随请求一起发送 cl.UseDefaultCredentials = false; //设置用于验证发件人身份的凭证 cl.Credentials = new System.Net.NetworkCredential(mymail.Substring(0, mymail.IndexOf('@')), mypwd); //指定谁代发邮件 cl.DeliveryMethod = SmtpDeliveryMethod.Network; try { //发送 cl.Send(mail); MessageBox.Show("发送成功"); } catch (Exception ex) { MessageBox.Show(ex.Message); }