当前位置: 首页 > 编程语言 > C#

C#实现收发邮件功能共享

时间:2023-04-10 21:28:17 C#

1.服务器TcpListenerserver=newTcpListener(IPAddress.Parse("127.0.0.1"),13000);//定义监听器server.Start();//启动监听器byte[]buffer=newbyte[1024];//创建一个容器来接受数据stringdata=null;while(true){//等待客户端连接TcpClientclient=server.AcceptTcpClient();//Tasktask1=server.AcceptTcpClientAsync();//套接字socket=server.AcceptSocket();//任务<套接字>task2=server.AcceptSocketAsync();//server.Pending();//获取客户端从端发送的数据intlen=client.Available;//获取已经从网络流中接收到的可以读取的数据量NetworkStreamnstream=client.GetStream();//返回一个可供读写的网络流intbytesRead;做{bytesRead=nstream.Read(buffer,0,buffer.Length);//接收消息data=Encoding.UTF8.GetString(buffer,0,bytesRead);//将接收到的数据转换成可输出的字符StringtypeConsole.WriteLine("Receivedmessage:"+data);输出接收到的消息byte[]msg=Encoding.UTF8.GetBytes(data.ToUpper());nstream.Write(buffer,0,buffer.Length);//发送消息}while(bytesRead>0);nstream.Close();//1。释放第一个Stream数据client.Close();//2.释放客户端连接数据}server.Stop();//3.关闭监听2.ClientTcpClientclient=newTcpClient("127.0.0.1",13000);//连接服务器//或//TcpClientclient=newTcpClient();//client.Connect("127.0.0.1",13000);NetworkStreamnstream=client.GetStream();//---其他相同的服务终端nstream.Close();//1。先释放流数据client.Close();//2。然后释放客户端连接数据3.发送邮件1.使用MailMessage和SmtpClient发送邮件在Wince中,可以使用OpenNetCF.Net.Mail类发送邮件。MailMessagemailMessage=newMailMessage{//SenderFrom=newMailAddress("***@163.com","Yourfriend",Encoding.UTF8),Priority=MailPriority.High,//邮件主题SubjectEncoding=Encoding.UTF8,主题="你好",};//收件人可以添加多个收件人mailMessage.To.Add(newMailAddress("137***126@qq.com"));//邮件消息。CC获取包含此邮件的抄送(CC)收件人的地址集合//MailtextmailMessage.IsBodyHtml=true;//如果要发送html格式的邮件,需要设置该属性mailMessage.BodyEncoding=编码.UTF8;mailMessage.Body="邮件测试

";//邮件内容为邮件正文显示的图片,需要为图片指定src='cid:idname(resourceid)'AlternateViewhtmlBody=AlternateView.CreateAlternateViewFromString("",null,"文本/html");//然后将文件的绝对地址和ContentType添加到LinkedResource中例如image/gif,text/html...与http请求LinkedResource的响应报文中的ContentType保持一致lr=newLinkedResource("1.gif","图片/gif");//绑定上面指定的idnamelr.ContentId="zfp";//添加链接资源htmlBody.LinkedResources.Add(lr);mailMessage.AlternateViews.Add(htmlBody);//发送附件指定附件的绝对地址Attachmentattachment=newAttachment("1.txt");mailMessage.Attachments.Add(附件);//创建邮件发送客户端SmtpClientsendClient=newSmtpClient("smtp.qq.com",25){//指定邮箱账号和密码Credentials=newNetworkCredential(fromMail,"xmxyldrmtvnrddfe")};//指定如何发送邮件sendClient.DeliveryMethod=SmtpDeliveryMethod.Network;//指定使用安全套接字加密的链接sslsendClient.EnableSsl=true;sendClient.Send(mailMessage);//或者您可以一步发送sendClient.SendAsync(mailMessage,null);2.使用TcpClient类接收pop3邮件TcpClientclient=newTcpClient("mail.**.com",443);//连接到网络流ns=client.GetStream();StreamReadersr=newStreamReader(ns,Encoding.Default);字符串结果=sr.ReadLine();//返回OK或ER//登录StreamWritersw=newStreamWriter(ns);sw.WriteLine("用户b**");sw.冲洗();结果=sr.ReadLine();sw.WriteLine("通过**");sw.冲洗();结果=sr.ReadLine();//获取邮件数量sw.WriteLine("stat");sw.冲洗();result=sr.ReadLine();//result.split('')[1]表示邮件数量//获取邮件信息sw.WriteLine("top10");sw.冲洗();结果=sr.ReadLine();while(true){结果=sr.ReadLine();如果(结果==“。”)中断;if(result.Length>4&&result.Substring(0,8)=="Subject:"){//结果为标题,乱码用Base64编码解码.GetEncoding("gb2312").GetString(Convert.FromBase64String(结果));}}这篇关于C#实现收发邮件功能的文章到此结束。希望对大家的学习有所帮助,希望大家多多支持。以上就是C#学习教程:C#实现邮件收发功能分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: