private void AddFileBtn_Click(object sender, EventArgs e)
        {
            openFileDia.InitialDirectory = "C:\\";
            openFileDia.Filter = "All Files(*.*)|*.*|HTML Files(*.htm;*.thml)|*.htm|Microsoft Mail Documents (*.msg)|*.msg|Word Documents(*.doc)|*.doc|Excel Files(*.xl*)|*.xl*|Excel Worksheets(*.xls)|*.xls|Excel Charts(*.xlc)|*.xlc|PowerPoint Presentations(*.PPT)|*.ppt|Text Files(*.txt)|*.txt";
            openFileDia.FilterIndex = 1;
            if (openFileDia.ShowDialog() == DialogResult.OK)
            {
                if (FileLbx == null)
                {
                    //FileLbx = new ArrayList();
                    FileLbx.Items.Clear();
                }
                //FileLbx.Add(new Attachment(openFileDia.FileName));
                string[] NameStr = openFileDia.FileName.Split('\\');
                System.Array.Reverse(NameStr);
                //FileLbx.Add(NameStr[0]);
            }
        }        private void SenBtbtn_Click(object sender, EventArgs e)
        {
                                   if (ResTbx.Text.Trim().Equals("") || SouTbx.Text.Trim().Equals(""))
            {
                MessageBox.Show("必须输入收件人和发件人的地址。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            MailMessage newMailMessage = new MailMessage(SouTbx.Text.Trim(), ResTbx.Text.Trim());
            string[] CSstr = CsTbx.Text.Split(';');
            for (int i = 0; i < CSstr.Length; i++)
            {
                if (!CSstr[i].Trim().Equals(""))
                {
                    newMailMessage.CC.Add(new MailAddress(CSstr[i]));
                }
            }
            string[] ASstr = AsTbx.Text.Split(';');
            for (int i = 0; i < ASstr.Length; i++)
            {
                if (!ASstr[i].Trim().Equals(""))
                {
                    newMailMessage.CC.Add(new MailAddress(ASstr[i]));
                }
            }
            newMailMessage.Subject = TitleTbx.Text;
            newMailMessage.Body = TextTbx.Text;
            //if (FileLbx != null)
            //{
            //    for (int i = 0; i < FileLbx.Count; i++)
            //    {
            //        newMailMessage.Attachments.Add((Attachment)FileLbx[i]);
            //    }
            //}
            try
            {
                SmtpClient newclient = new SmtpClient("smtp.qq.com");
                newclient.UseDefaultCredentials = false;
                newclient.Credentials = new System.Net.NetworkCredential("476946808", "zhang455955528");
                newclient.DeliveryMethod = SmtpDeliveryMethod.Network;
                //SmtpClient.Host = "smtp." + newMailMessage.From.Host;                  newclient.Send(newMailMessage);
                MessageBox.Show("邮件发送完毕!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception exp)
            {
                MessageBox.Show("邮件发送发生错误:" + exp.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        
        }

为什么邮件老是发不成功啊,这些代码我是从书上看的啊,我老是做不成功啊,请各位帮帮忙啊

解决方案 »

  1.   

    public void MailSend(string MailFrom,string MailTo,string MailPwd,string Mailtitle,string MailCon) 
            { 
                MailMessage MyMail = new MailMessage(); 
                MyMail.From = new MailAddress(MailFrom + "@163.com", ""); 
                MyMail.To.Add(new MailAddress(MailTo + "@163.com")); 
                MyMail.Subject = Mailtitle; 
                MyMail.Body = MailCon; 
                MyMail.IsBodyHtml = false; 
                SmtpClient smtpclient = new SmtpClient(); 
                smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network; 
                smtpclient.Host = "smtp.163.com"; 
                smtpclient.Credentials = new System.Net.NetworkCredential(MailFrom, MailPwd); 
                smtpclient.Send(MyMail); 
            } 
    jmail.Message Jmail = new jmail.Message(); 
                DateTime t = DateTime.Now; 
                String Subject = ""; 
                String body = ""; 
                String FromEmail = ""; 
                String ToEmail = ""; 
                Jmail.Charset = "GB2312"; 
                Jmail.ContentType = "text/html"; 
                Jmail.AddRecipient(ToEmail, "", ""); 
                Jmail.From = FromEmail; 
                Jmail.MailServerUserName = ""; 
                Jmail.MailServerPassWord = ""; 
                Jmail.Subject = Subject; 
              Jmail.ContentType="text/html"; 
                Jmail.Body = body + t.ToString(); 
                Jmail.Send("smtp.163.com", false); 
                Jmail.Close(); 
      

  2.   

    newclient.Credentials = new System.Net.NetworkCredential("476946808", "zhang455955528"); 
    这地方错了,我用你的代码,自己的QQ发送成功了。该这么写:
    newclient.Credentials = new System.Net.NetworkCredential("[email protected]", "zhang455955528"); 
      

  3.   

    实现邮件发送的方法很多……如果都不成功:
    1。可能是你上网的代理服务器的限制。
    2。或者邮箱的问题:比如hotmail的,我记得当时测试的时候也遇到问题,查阅相关资料后说是hotmail在07年以后申请的账号没有办法使用SMTP发送。
    还有别的……去网上可以查到,然后分析一下能不能用在这个问题上,好运~