联系我们 更多>>
  • 地址:西安经济技术开发区中环大厦A座18F-A
  • 电话:029-83765753
  • Q Q:374676511
当前位置:首页 >> ASP.NET >> 正文

ASP.NET中实现邮件发送

来源:本站 时间:2010-05-18 点击:
前几天做个东西,做到密码找回这里卡住了,因为要通过邮箱找回,以前没做过,不过幸好有msdn,在上面搜了个mail就出来了,呵呵,以下是源码:
protected void Button1_Click(object sender, EventArgs e)
    {
        MailMessage mail = new MailMessage();
        //设置为Html格式的邮件
        mail.IsBodyHtml = true;

       //设置发件人地址
        MailAddress fromMailAddress;
        string[] tmpMails = txtFrom.Text.Split(",".ToCharArray());
        if (tmpMails.Length == 2)
        {
            fromMailAddress = new MailAddress(tmpMails[0], tmpMails[1]);
        }
        else
        {
            fromMailAddress = new MailAddress(tmpMails[0], tmpMails[0]);
        }
        mail.From = fromMailAddress;

        //设置收件人地址
        MailAddress toMailAddress;
        string[] tmpStrs = txtTo.Text.Split(";".ToCharArray());
        foreach (string tmpStr in tmpStrs)
        {
            tmpMails = tmpStr.Split(",".ToCharArray());
            if (tmpMails.Length == 2)
            {
                toMailAddress = new MailAddress(tmpMails[0], tmpMails[1]);
            }
            else
            {
                toMailAddress = new MailAddress(tmpMails[0], tmpMails[0]);
            }
            mail.To.Add(toMailAddress);
        }

        //设置邮件主题
        mail.SubjectEncoding = Encoding.UTF8;
        mail.Subject = txtSubject.Text;
        //设置邮件正文
        mail.BodyEncoding = Encoding.UTF8;
        mail.Body = this.txtBody.Text;

        //设置回复地址
        mail.ReplyTo = fromMailAddress;

        //添加附件
        Attachment attachment = new Attachment(@"d:\temp\***.doc");
        mail.Attachments.Add(attachment);

        //设置SmtpClient
        SmtpClient smtpClient = new SmtpClient(txtSmtpHost.Text, int.Parse(txtSmtpPort.Text));
        try
        {
            smtpClient.UseDefaultCredentials = true;
            //如果设为true,需要验证服务器安全连接
            smtpClient.EnableSsl = false;
            smtpClient.Credentials = new NetworkCredential("EmailAddress", "password");
            smtpClient.Send(mail);
            this.Literal1.Text = "<script>alert('发送所有邮件成功!')</script>";
            //MessageBox.Show("发送所有邮件成功!");
        }
        catch (SmtpException ex)
        {
            this.Literal1.Text = "<script>alert('" + ex.Message + "')</script>";
            //MessageBox.Show(ex.Message);
        }

        mail.Bcc="[email=[ft=#ff0000,,]kouzhikai@163.com";//]kouzhikai@163.com%22;//[/email]密送
        mail.Cc=="kouzhikai@hotmail.com";//
抄送
    }