小迪的Blog
学习ing...(注明:该Blog中的任何信息都非原创,只是作为个人的阅读笔记)

 

using System.Web.Mail;
using System.IO;

        
private void btnSend_Click(object sender, System.EventArgs e)
        
{
            
//分别取得邮件的收信人的地址、发信人的地址、抄送、主题、内容等信息
            string strTo        = tbTo.Text;
            
string strFrom        = tbFrom.Text;
            
string strPwd        = tbPwd.Text;
            
string strCopyTo    = tbCopyTo.Text;
            
string strSubject    = tbSubject.Text;
            
string strBody        = tbBody.Text;

            
try
            
{
                MailMessage ms
=new MailMessage();

                ms.To            
= strTo;            //收信人的地址
                ms.From            = strFrom;            //发信人的地址
                ms.Cc            = strCopyTo;        //抄送
                ms.Subject        = strSubject;        //主题
                ms.BodyFormat    = MailFormat.Html;    //正文格式html/text
                ms.Body            = strBody;            //正文

                
string strPathOfAttachFile = "";    //初始化附件
                
//如果有附件则上传
                HttpPostedFile hpPFile = AttachFile.PostedFile;        //获得上传文件的访问
                if(hpPFile.FileName != "")
                
{
                    
//有附件,则上传到Temp目录中
                    
//判断是否存在Temp目录,若无,则创建
                    string FolderName = Server.MapPath("."+ "\\Temp";
                    
if(Directory.Exists(FolderName) == false)
                        Directory.CreateDirectory(FolderName);
                    
//取得文件名(不含路径)
                    char[] separator = {'\\'};        //separator的值为"\"
                    string[] AFileName  = hpPFile.FileName.Split(separator);
                    
string strFileName  = AFileName[AFileName.Length-1];
                    strPathOfAttachFile    
= Server.MapPath(".")+"\\Temp\\"+strFileName;
                    hpPFile.SaveAs(strPathOfAttachFile);
                    
//添加附件
                    ms.Attachments.Add(new MailAttachment(strPathOfAttachFile));

                }


                
//从发信人的地址计算出邮件服务器
                string[] strTemp = strFrom.Split('@');
                
string strPartOfSmtpServer  = strTemp[strTemp.Length-1];
                
string strSmtpServer = "smtp." + strPartOfSmtpServer;

                ms.Fields.Add(
"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate""1");//value=0 No Check    value=1 Basic Check      Value=2 Exchage Check
                ms.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", strFrom); //发信人的邮箱地址                
                ms.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", strPwd);//验证信息
                SmtpMail.SmtpServer=strSmtpServer;    //邮件服务器ip或域名

                SmtpMail.Send(ms);            
//发送    


                
//清除控件中的内容
                tbTo.Text        = "";
                tbCopyTo.Text    
= "";
                tbSubject.Text    
= "";
                tbBody.Text        
= "";
                
//删除Temp目录中的附件
                if(File.Exists(strPathOfAttachFile) == true)
                    File.Delete(strPathOfAttachFile);


                
//确认邮件发送成功
                string strScript = "<script>alert('邮件发送成功!')</script>";
                
if (! Page.IsStartupScriptRegistered("Alert"))
                
{    
                    Page.RegisterStartupScript(
"Alert", strScript);
                }


            }

            
catch
            
{
                
string strScript = "<script>alert('邮件发送失败!')</script>";        
                
if (! Page.IsStartupScriptRegistered("Alert"))
                
{    
                    Page.RegisterStartupScript(
"Alert", strScript);
                }


            }


        }
posted on 2005-03-19 10:33  小迪  阅读(368)  评论(0编辑  收藏  举报