it之路。

static void Main(string[] args)
        {
            CreateMessageWithAttachment("smtp.163.com");

            Console.WriteLine("发送成功");
            Console.ReadLine();
        }

        public static void CreateMessageWithAttachment(string server)
        {           
            // 指定要被发送的附件,本例中的附件为同级目录下的data.xls文件
            string file = "data.xls";
            // 1, Create a message and set up the recipients.创建一个邮件,设置发送人,收信人以及主题,正文
            MailMessage message = new MailMessage(
               "cykevin@163.com",
               "735356115@qq.com",
               "hello",
               "fuck");

            // 2,Create  the file attachment for this e-mail message.创建邮件附件
            Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
            // 3,给附件添加时间戳 Add time stamp information for the file.
            ContentDisposition disposition = data.ContentDisposition;// 添加附件标头
            disposition.CreationDate = System.IO.File.GetCreationTime(file);
            disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
            disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
            // 4,将附件添加到邮件Add the file attachment to this e-mail message.
            message.Attachments.Add(data);// 添加附件
            // 5,创建发送端,配置发送端Send the message.
            SmtpClient client = new SmtpClient(server);
            client.UseDefaultCredentials = false;
            // Add credentials if the SMTP server requires them.
            client.Credentials = new System.Net.NetworkCredential("用户名", "密码");
            // 6,发送
            client.Send(message);// 发送
            // Display the values in the ContentDisposition for the attachment.
            ContentDisposition cd = data.ContentDisposition;
            Console.WriteLine("Content disposition");
            Console.WriteLine(cd.ToString());
            Console.WriteLine("File {0}", cd.FileName);
            Console.WriteLine("Size {0}", cd.Size);
            Console.WriteLine("Creation {0}", cd.CreationDate);
            Console.WriteLine("Modification {0}", cd.ModificationDate);
            Console.WriteLine("Read {0}", cd.ReadDate);
            Console.WriteLine("Inline {0}", cd.Inline);
            Console.WriteLine("Parameters: {0}", cd.Parameters.Count);
            foreach (DictionaryEntry d in cd.Parameters)
            {
                Console.WriteLine("{0} = {1}", d.Key, d.Value);
            }
            // 7,销毁附件
            data.Dispose();
        }

posted on 2011-04-12 13:12 愚昧的小猪 阅读(33) 评论(0) 编辑 收藏