SMTP(Simple Mail Transport Protocol)简单邮件传输协议。在.NET Frameword类库中提供SmtpClient类(System.Net.Mail),她提供了一个轻型方法来发送SMTP电子邮件信息。SmtpClient类中的Bcc属性是用来指定此电子邮件抄送的收件人的集合,这就意味着可以为每个邮件制定多个收件地址。Attachmenty属性也是一个集合,可以使用它为邮件添加多个附件。 发送邮件中用的其他类主要还有

1.Attachment类,表示文件附件,它允许将文本、流、文件附加到电子邮件中。

2.MailAddress类,表示邮件地址。

3.MailMessage类,表示电子邮件。

                 SmtpClient mailClient = new SmtpClient("smtp.qq.com");

            //Credentials登陆SMTP服务器的身份验证.
            mailClient.Credentials = new NetworkCredential("用户名", "密码");

            //test@qq.com发件人地址、test@tom.com收件人地址
            MailMessage message = new MailMessage(new MailAddress("test@qq.com"),new MailAddress(test@tom.com));
            // message.Bcc.Add(new MailAddress("tst@qq.com")); //可以添加多个收件人
            message.Body = "Hello Word!";//邮件内容
            message.Subject = "this is a test";//邮件主题
            //Attachment 附件
            Attachment att = new Attachment(@"C:"hello.txt");
            message.Attachments.Add(att);//添加附件
            Console.WriteLine("Start Send Mail....");
            //发送....
            mailClient.Send(message);
            Console.WriteLine("Send Mail Successed");
            Console.ReadLine();

===========================GMAIL===============================

       private void button1_Click(object sender, EventArgs e)
        {
            string MyPsd = G_password.Text;
            string MyEmail = G_email.Text.Trim() + "@gmail.com";
            MailMessage MMsg = new MailMessage();
            MMsg.Subject = G_subject.Text.Trim();
            MMsg.From = new MailAddress(MyEmail);
            MMsg.To.Add(new MailAddress(G_address.Text.Trim()));
            MMsg.IsBodyHtml = true;//这里启用IsBodyHtml是为了支持内容中的Html。
            MMsg.BodyEncoding = Encoding.UTF8;//将正文的编码形式设置为UTF8。
            MMsg.Body = G_content.Text;
            SmtpClient SClient = new SmtpClient();
            SClient.Host = "smtp.gmail.com";//google的smtp地址
            SClient.Port = 587;//google的smtp端口
            SClient.EnableSsl = true;//因为google使用了SSL(安全套接字层)加密链接所以这里的EnableSsl必须设置为true。
            SClient.Credentials = new NetworkCredential(MyEmail, MyPsd);
            if (G_Attachment.Text.Length>0)
            {
                MMsg.Attachments.Add(new Attachment(G_Attachment.Text));//判断是否有附件
            }
            try
            {
                SClient.Send(MMsg);
                MessageBox.Show("邮件已经发送成功");
            }
            catch (Exception err)
            {

                MessageBox.Show(err.Message, "错误提示");
            }

 

        }

posted on 2009-02-24 16:52  李辉明  阅读(1149)  评论(1编辑  收藏  举报