代码改变世界

邮件发送小demo

2013-07-23 13:50  omgee  阅读(279)  评论(0编辑  收藏  举报
  //send email
        public static bool SendEmail()
        {
 
            //实例化发件人地址
            MailAddress from = new MailAddress("aa@qq.com","admin");
            MailAddress to = new MailAddress("6wete@qq.com");
            //邮件信息
            MailMessage meg = new MailMessage();
            meg.From = from;
            meg.To.Add(to);
            meg.Subject = "test";//邮件标题
            meg.Body = "hello world";//邮件主体
            meg.BodyEncoding = Encoding.UTF8;//编码格式
            meg.IsBodyHtml = true;
            meg.Priority = MailPriority.High;//设置邮件的发送级别


            //添加附件,给个路径,会把目标文件转化成二进制流
            //附件路径数组,附件可能为多个文件
            string[] attachment=null;
            attachment[0] = "d:\\aa.txt";
            attachment[1]="d:\\bb.txt";
            //循环取出附件加入到消息列表中
            foreach (string item in attachment)
            {
                try
                {
                    Attachment Ach = new Attachment(item);
                    meg.Attachments.Add(Ach);
                }
                catch (Exception)
                {
                }
            }


            //实例化邮件发送器
            SmtpClient sc = new SmtpClient();
            //不使用默认凭据访问服务器
            sc.UseDefaultCredentials = false;
            //client.DeliveryMethod = SmtpDeliveryMethod.Network;

            //验证指定发件人信息  包括邮箱地址和邮箱密码
            sc.Credentials = new NetworkCredential("aa@qq.com","123");
            //指定SMTP服务名  例如QQ邮箱为 smtp.qq.com 新浪cn邮箱为 smtp.sina.cn等
            sc.Host = "smtp.qq.com";
            
            // SmtpClient.Timeout = 3000;  //超时时间

            //端口号
            sc.Port = 25;

            //发送
            sc.Send(meg);
 
         return true;
        }


tip:qq邮箱默认是不可以发送的,代码不能直接调用;测试来看,163邮箱是可以发送到任何一个邮箱的,据说sina也可以,其它可能要作进一步的设定