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

winform 如何编写邮件收发软件

我想编写一个像outlook或foxmail那样的邮件收发软件,可是我还是个新手,关于设置帐户,这方面不太会,希望前辈们指点一二,我挺急的,希望可附带一些重要的代码…… --------------------编程问答-------------------- http://topic.csdn.net/t/20040817/22/3284408.html  --------------------编程问答-------------------- 我怎么记的C#里有现在的这个控件呀 --------------------编程问答-------------------- 邮件收发,要设置邮件服务器的,其实呢,直接GOOGLE下“C# 邮件收发”,绝对比这里的东西多 --------------------编程问答--------------------

private void TimeClockStart()
        {
            //时间为每隔7秒钟发送一次邮件
            System.Timers.Timer MT = new System.Timers.Timer(7000);
            MT.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
            MT.Enabled = true;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            string MailCfgFile       = "";
            string MailSendAddress   = "";
            string SendAddressPwd    = "";
            string MailToAddress     = "";
            string MailContext       = "";
            string MailAttachFile    = "";
            string MailServerAddress = "";
            string strLine           = "";
            StreamReader objReader;

            //获取当前路径
            MailCfgFile = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            MailCfgFile += "mail.ini";

            //读取文件
            objReader = new StreamReader(MailCfgFile);     
      
            //读取发件人地址
            strLine = objReader.ReadLine();
            MailSendAddress = strLine;
            //读取发件人的密码
            strLine = objReader.ReadLine();
            SendAddressPwd = strLine;
            //读取收件人地址
            strLine = objReader.ReadLine();
            MailToAddress = strLine;
            //读取文件内容
            strLine = objReader.ReadLine();
            MailContext = strLine;
            //读取附件路径
            strLine = objReader.ReadLine();
            MailAttachFile = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            MailAttachFile += strLine;
            //读取服务器IP地址
            strLine = objReader.ReadLine();
            MailServerAddress = strLine;

            //关闭文件
            objReader.Close();

            SendMailMethod(MailSendAddress, SendAddressPwd, MailToAddress, MailContext, MailAttachFile, MailServerAddress);
        }

        //MailSendAddress   ---表示发件人的地址
        //SendAddressPwd    ---表示发件人的密码
        //MailToAddress     ---表示收件人的地址
        //MailContext       ---表示邮件内容
        //MailAttachFile    ---表示邮件附件
        //MialServerAddress ---表示服务器IP地址
        private void SendMailMethod(string MailSendAddress, 
                                    string SendAddressPwd, 
                                    string MailToAddress, 
                                    string MailContext, 
                                    string MailAttachFile,
                                    string MailServerAddress)
        {
            try
            {               
                MailMessage mailmsg = new MailMessage();
                //发信人地址
                mailmsg.From = new MailAddress(MailSendAddress);
                //收件人地址
                mailmsg.To.Add(MailToAddress);
                //
                mailmsg.Subject = "Test Message";

                //内容
                mailmsg.Body = MailContext;

                //编码格式
                mailmsg.BodyEncoding = System.Text.Encoding.UTF8;
                mailmsg.IsBodyHtml = true;
           
                //创建附件
                string file = MailAttachFile;
                Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
                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);
                mailmsg.Attachments.Add(data);

                SmtpClient sendmsg = new SmtpClient();
                sendmsg.Host = MailServerAddress;
                sendmsg.UseDefaultCredentials = false;
                sendmsg.Credentials = new NetworkCredential(MailSendAddress, SendAddressPwd);
                sendmsg.DeliveryMethod = SmtpDeliveryMethod.Network;

                sendmsg.Send(mailmsg);
                mailmsg.Dispose();
                data.Dispose();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
        }

        private void WriteLog( string strName )
        {
            EventLog.WriteEntry(strName);
        }
--------------------编程问答-------------------- 非常谢谢大家的帮助,谢谢高手们啦! --------------------编程问答-------------------- 我想问的是,设置完帐户后,在下次启动程序后,如何获取发送邮件的账号和密码?不用再手动输入了
--------------------编程问答-------------------- 有一个组件jmail可以实现邮件的收发
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,