附件大,上传,发送一定会慢.程序卡,应该是主线程正在发送,邮件造成的.创建其他线程在后台去发.这样就不影响主线程做其他工作了
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Net.Mail;namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { MailMessage MailMessage = new MailMessage(); //这个是我们的邮件对象,包含主题,内容等主要属性 SmtpClient SmtpServer = new SmtpClient(); //这个是我们的SMTP客户端对象,通过这个对象将我们的邮件发送出去 MailMessage.From = new MailAddress("240848@qq.com","网站邮件", System.Text.Encoding.UTF8); //例如xxx@163.com 'MailMessage对象的From属性意为邮件的发送者,顾名思义在此处设置邮件的发件人. MailMessage.To.Add("7218@qq.com"); //例如xxx@163.com 'MailMessage对象的To属性意为该邮件的收件人集合,使用该属性的Add方法来添加收件人 MailMessage.Subject = "大家好!~我是邮件标题"; //Subject属性就是邮件的标题内容 //MailMessage.Body = "大家好!~我是邮件内容" 'Body属性是邮件的内容 MailMessage.Priority = MailPriority.Normal; //Normal是普通优先级,这里还可以设置成High或Low SmtpServer.Host = "SMTP.qq.com"; //这里设置我们的SMTP服务器,例如smtp.163.com SmtpServer.Credentials = new System.Net.NetworkCredential("9520848", "nnnnnnnnnnnnn"); //这里的用户名和密码用于SMTP服务器认证 //SmtpServer.Timeout = 100 '设定发送超时的时间,默认是100秒 MailMessage.Attachments.Add(new Attachment("c:\网页.txt")); MailMessage.Attachments.Add(new Attachment("G:\Ultt_SC17.rar")); MailMessage.Body = "111111111111"; SmtpServer.Send(MailMessage); } }}