网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#应用
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.C#中构造函数和析构函数的用法 .
.解读C#中的正则表达式.
.C# 中启动进程的三种方法.
.C#中的接口.
.病毒及流氓软件自我复制的简单实.
.C#中屏蔽窗体关闭的消息 .
.对C#下函数,委托,事件的一点理.
.C#中调用Windows API的要点.
.给datagrid的按钮列添加css.
.保护你的DLL和Code不被别人使用.
.像Asp一样轻松分页显示数据(C#) .
.C# 文件操作(上传 下载 删除 文件.
.C#中除去所有在HTML元素中标记.
.C#中Dispose和Close的区别.
.C#纯数学方法递归实现货币数字转.
.C#进制转换 的记录 .
.利用C#进行AutoCAD的二次开发(二.
.Visual C#2005中使用正则表达式.
.用Visual C#动态生成组件.
.如何用C#语言构造蜘蛛程序.

发送邮件程序(Csharp2005)

发表日期:2006-5-16


我觉得懂得编写发送邮件客服端丰常重要.这可以把它嵌入到你的软件里加强与用户的沟通与可以收集程运行的错误信息.以与我编写一小的发送邮件客服端来与在家交流.
程序如下:


发送邮件解决方案下载

接下来,我来说一下我开发的过程与体会:
创建发送邮件客服端步骤:
1.创建Smtp服务器.
2.创建发件人,与收件人邮箱地址.
3.创建发送信息.
4.建件发送附件.

1.Smtp服务器,可用本地的也可以用其它的可用有Smtp服务器.如。smtp.126.com;smtp163.com.
需要注意的时:
(1)如果用本的的,本地要装Smtp用服也就是系统组件,默认没有安装。
(2)如果用邮件服务商的,你要有其上面的帐号与密码,即你要申请个邮箱,做为的身份认证。
 (3)smtp类初始化时只能用IP而不能用用务器名称。因为我个人觉得,一般提供邮件服务都有好几台服务器。你在CMD 命令行里,ping smtp.126.com,在不同时候返回不同的IP。这个问题找了很久才发觉。所在在程序里要用先得到,Smtp服务器的IP列表,然后用PING 命令判断那个可用。然后再用此IP来初始化Smtp服务类。
              取得SMTP服务器列表.
  http://xuanfeng.cnblogs.com/archive/2006/05/15/400158.html(此连接是有我一编写的一个取得网络信息的解决方案可以查找服务器的IP地址的列表.)
              IPAddress[] IpAddress = Dns.GetHostEntry(ServerName).AddressList;
                Ping ping = new Ping();
                PingReply pingReply = null;
                //取得smt服务器可用的IP
                foreach (IPAddress IP in IpAddress)
                {
                    pingReply = ping.Send(IP);
                    if (pingReply.Status == IPStatus.Success)
                    {
                        ip = IP.ToString();
                        break;

                    }

                }

                SmtpClient_my = new SmtpClient(ip, Port);


2.创建发件人,与收件人邮箱地址.
MailAddress_from = new MailAddress(Tb_Email_from.Text, Tb_Print.Text);
MailAddress_to = new MailAddress(Tb_Email_to.Text);

3.创建发送信息
 MailMessage_my = new MailMessage();
MailMessage_my.Subject = Tb_Content.Text;
                MailMessage_my.ReplyTo = MailAddress_from;
                MailMessage_my.Sender = MailAddress_from;
                MailMessage_my.From = MailAddress_from;
                MailMessage_my.To.Add(MailAddress_to);


4.建件发送附件.

 Attachment_my = new Attachment(path, MediaTypeNames.Application.Octet);

注意要控制附件的大小,因为很多邮件服务商附件大小都是有限件的。

 FileStream FileStream_my = new FileStream(path, FileMode.Open);
                string name = FileStream_my.Name;
                int size = (int)(FileStream_my.Length / 1024);
                //控制文件大小不大于10M
                if (size > 10240)
                {

                    MessageBox.Show("文件长度不能大于10M!你选择的文件大小为{0}", size.ToString());
                    return;
                }

                FileStream_my.Close();

5。发送后事件处理。
  创建事件
 SmtpClient_my.SendCompleted += new SendCompletedEventHandler(SmtpClient_my_SendCompleted);
 事件处理函数。
void SmtpClient_my_SendCompleted(object sender, AsyncCompletedEventArgs e)
        {
            if (e.Cancelled)
            { MessageBox.Show("发送已取消!"); }
            if (e.Error != null)
            {

                MessageBox.Show(e.UserState.ToString() + "发送错误:" + e.Error.Message, "发送错误", MessageBoxButtons.OK, MessageBoxIcon.Error);

            }
            else
            {
                MessageBox.Show("邮件成功发出!", "恭喜!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

        }
        #endre

 

结束.

出处:http://xuanfeng.cnblogs.com/archive/2006/05/15/400156.html

上一篇:C#下的查杀进程 人气:8883
下一篇:C#中Delegate浅析与思考 人气:10755
浏览全部Csharp的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐