当前位置:编程学习 > C#/ASP.NET >>

C#发邮件

 C#写的一个发邮件程序,可以同时给多人发邮件,不是群发的那种,是单独给多人发邮件。可是有时候可以一次性给200多人发,有时候发布成功,报错说邮箱不可用,邮箱地址是正确的。请各位高手帮忙看看什么问题


try
            {
                //获取@后面的邮箱服务器
                string smtp = cbxServer.Text.Substring(1, cbxServer.Text.Length - 1);
                //Console.Console.WriteLine(smtp); 
                SmtpClient client = null;
                if (cbxServer.Text.Trim() == "@51jinyin.com")
                {
                    client = new SmtpClient("smtp.qq.com");
                }
                else
                {
                    client = new SmtpClient("smtp." + smtp);
                }
                client.UseDefaultCredentials = false;

                //设置发件人的邮箱地址跟密码
                client.Credentials = new System.Net.NetworkCredential(txtAddressFrom.Text.Trim() + cbxServer.Text.Trim(), txtPassword.Text.Trim());
                client.DeliveryMethod = SmtpDeliveryMethod.Network;//通过网络发送到smtp邮件服务

                //发件人的邮箱地址

                MailAddress AddressFrom = new MailAddress(txtAddressFrom.Text.Trim() + cbxServer.Text.Trim());
                string addressS = null;
                string ContainText = null;
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if (dataGridView1.Rows[i].Cells[0].Value == null)
                        continue;
                    addressS = dataGridView1.Rows[i].Cells[0].Value.ToString();
                    // ContainText = dataGridView1.Rows[i].Cells[1].Value.ToString();
                    //收件人
                    MailAddress addressTo = new MailAddress(addressS);

                    MailMessage message = new MailMessage(AddressFrom, addressTo);
                    message.Sender = new MailAddress(txtAddressFrom.Text.Trim() + cbxServer.Text.Trim());

                    //主题
                    message.Subject = txtSubject.Text.Trim();

                    //邮件正文
                    // message.Body = ContainText;
                    message.Body = richtxtContain.Text.Trim();
                    message.SubjectEncoding = System.Text.Encoding.UTF8;
                    //发送
                    client.Send(message);
                }
                MessageBox.Show("发送成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            } C# 邮件 邮箱 --------------------编程问答-------------------- 好像有的邮箱默认不开SMTP需要手动开不知道是不是这个原因   --------------------编程问答-------------------- 看看这个实现:http://www.cnblogs.com/zhili/archive/2012/09/24/MailSend_POP3_SMTP.html --------------------编程问答-------------------- 接收的邮箱不需要开吧,发才要 --------------------编程问答-------------------- 是不是你的Smtp服务器 不支持 发送到 XXX邮箱? --------------------编程问答-------------------- 不是,同一个邮箱有时候可以发送成功有时候又发不出去
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,