1234567   1  /  7  页   跳转

c#!每天进步一点点(原创)

c#!每天进步一点点(原创)

此系列文章谨献给c#初学者:
此系列安装VS 2003(简体中文或E文)+SQL Server2000(加Sp3)

第一课:利用c#来发送邮件(B/S为例)
    第一步:新建一c#工程first_cs01,删除默认WebForm1.aspx(养成好习惯啊)新建 一页面SendMail.aspx,依次创建六个控件:
    两个label,两个TextBox,两个Button,如图

附件附件:

下载次数:0
文件类型:image/pjpeg
文件大小:
上传时间:2005-1-15 15:20:08
描述:



最后编辑2007-05-23 14:01:35
分享到:
gototop
 

第二步:修改两个TetxBox的属性(也就是ID啦)为txtTo,txtFrom,然后,双击“发送”按钮,进入后台,在private void Button1_Click(object sender, System.EventArgs e)按钮事件中添加:
下列代码:
MailMessage mailObj = new MailMessage();
if (this.txtFrom.Text.Length>0 && this.txtTo.Text.Length>0)
{
mailObj.To=this.txtTo.Text;
mailObj.From=this.txtFrom.Text;
}
mailObj.Subject = "精采笑话"; //邮件主题
mailObj.Body = "猪!你已中毒! 哈哈 "; //邮件内容
mailObj.BodyFormat = MailFormat.Html; //邮件格式
mailObj.Priority = MailPriority.High; //邮件优先度
mailObj.Attachments.Add(new MailAttachment("c:\\swf\\000.bmp")); //附件名称,可有N多。
SmtpMail.Send(mailObj); //调用系统组件发送Mail
Response.Write("发送邮件成功!");
gototop
 

谢谢版主呀,这样的最好天天有,我支持你呀。
gototop
 

别急!很快就好了! 现在编译,生成解决方案!
哈哈~! 编译错误, !

咦,忘了声明引用dll了!
在 SendMail.cs文件顶部添加
using System.Web.Mail;
using System.Text;
两行即可!编译成功了吧!
在地址栏内敲入http://localhost/first_cs01/SendMail.aspx就可以浏览我们的成果了!
gototop
 

版主,我有一个问题,怎么样才能保存我想看的帖子呢?这样就不用以后找的时候麻烦了
gototop
 

怎么没有看到"发送成功"的提示?
咦! 又忘了一件大事:
IIS的设置应该启用Smtp(如果没安装,请用win2000安装盘进行安装)应该如下图(没有加入域的机器不会显示域)

附件附件:

下载次数:0
文件类型:image/pjpeg
文件大小:
上传时间:2005-1-15 15:44:58
描述:



gototop
 

你发一个我发一个,哈哈,快回答我的问题,别告诉我没有那个工能就行了
gototop
 

如法泡制,在第二个按钮事件中添加下列代码:
MailMessage mail = new MailMessage();
if (this.txtFrom.Text.Length>0 && this.txtTo.Text.Length>0)
{
mail.To=this.txtTo.Text;
mail.From=this.txtFrom.Text;
}

try
{
mail.Subject = "SMTP邮件!";
mail.Body = "测试文本正文";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "my_username_here"); //set your username here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "super_secret"); //set your password here
//SmtpMail.SmtpServer = "192.168.72.138"; //your real server goes here
SmtpMail.Send( mail );
//SmtpMail.Close();
string strInfo="<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
Response.Write(strInfo);
Response.Write("发送SMTP邮件成功!");

}
catch(Exception ex)
{
Response.write(ex);
Response.End();
}
gototop
 

大部分看明白了,不过,还是有一些不明白,看来没学到就是不行呀。
gototop
 

有些人可能很奇怪,怎么多了个try ………catch
问得好! 这是.net自带的错误捕获模块,它负责把所有可能出现的错误Catch到,然后暴露给用户(也就是你啦,怎么样很爽吧!)当然如果程序写的再灵活一点:
把邮件的标题和内容全部在aspx文件中用TextyBox控件来呈现给用户,由用户来自由输入,岂不更爽!?
gototop
 
1234567   1  /  7  页   跳转
页面顶部
Powered by Discuz!NT