QQ邮箱附件发送

一、先造一个邮件发送的窗体

二、编辑邮件发送的代码(包括附件)

①附件添加对话框
 string file;
        private void button6_Click(object sender, EventArgs e) //添加附件
        {
            openFileDialog1.Filter = "Word文件.doc|*.doc|表格文件.xls|*.xls|所有文件|*.*"; //筛选文件类型
            DialogResult dk = openFileDialog1.ShowDialog();  //创建一个枚举类型的变量dk来接收打开这个对话框
            if (dk == DialogResult.OK) //如果点的是确定,才会执行下面的代码
            {
                file = openFileDialog1.FileName;//定义一个变量来接收路径
                //创建文件流 来将路径转换
                StreamReader path = new StreamReader(file, Encoding.Default); //Encoding.Default 编码方式
                MessageBox.Show("添加附件成功");
                path.Close();//用完流之后必须关闭
               
            }
        }
②发送邮件函数
  //下面开始写SendEmail函数
        public void SendEmail(string Emailshoujian, string Emailbiaoti, string Emailzhengwen, MailAddress EmailFrom)
        {
            try
            {
                //创建发送邮箱,并获取发件人地址,收件人地址,以及邮件标题与正文
                MailMessage msg = new MailMessage();  //创建一个MailMessage的类,用来发送邮件
                msg.To.Add(Emailshoujian); //将收件人的邮箱地址添加进来  
                msg.Subject = Emailbiaoti; //获取一下发送邮件的标题
                msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题改成国际编码方式
                msg.From = EmailFrom;//获取一下发件人的邮箱地址
                msg.Body = Emailzhengwen;//邮件的正文内容
                msg.BodyEncoding = System.Text.Encoding.UTF8; //将邮件的正文内容改一下编码方式
                msg.IsBodyHtml = false; //确认正文内容是不是以网页格式发送的
                msg.Priority = MailPriority.High;//邮件发送的优先等级为最高

                //添加附件
                Attachment att = new Attachment(file); //file是所选择的文件的路径
                msg.Attachments.Add(att);

                // //设置用于验证发件人身份的凭据
                SmtpClient client = new SmtpClient(); //允许应用程序使用简单邮件传输协议 (SMTP) 来发送电子邮件。 
                client.Host = "smtp.qq.com"; //设置一下应用程序的服务器名称
                client.Credentials = new System.Net.NetworkCredential("527384244@qq.com", "lk19920619"); //输入发件人邮箱的用户名密码来发送邮件
                //注意!!必须在发送的时候将发件人的邮箱账户POP3/IMAP协议开启,然后输入的密码是QQ邮箱独立密码,而不是QQ密码!!!!
                client.Send(msg);//发送
                //mail from address must be same as authorization user 若出现这个错误,证明没有将发件人邮箱的POP3/IMAP协议打开,并且密码是QQ邮箱独立密码,而不是QQ密码
                //打开方式在最有一张截图
                MessageBox.Show("发送成功");
            }
            catch (Exception )
            {

                MessageBox.Show("请正确输入信息");
            }
           
        }
③点击发送按钮
 //当点击发送按钮的时候调用 SendEmail函数,并且将所有的参数输入进去
        private void button1_Click(object sender, EventArgs e) //发送按钮
        {   // MailAddress 表示电子邮件发件人或收件人的地址。
            MailAddress EmailFrom = new MailAddress("527384244@qq.com");  //发件人邮箱地址 //创建一个MailAddress的类来写发件人的地址
            string Emailshoujian = txtshoujian.Text;  //收件人邮箱地址
            string Emailbiaoti = txtbiaoti.Text; //邮件标题
            string Emailzhengwen =textBox1.Text; //邮件内容
            SendEmail(Emailshoujian, Emailbiaoti, Emailzhengwen, EmailFrom);  //调用发送邮件函数

        }

原文地址:https://www.cnblogs.com/lk-kk/p/4612094.html