技术文档-使用C#进行E-Mail的收发操作

技术文档-使用C#进行E-Mail的收发操作
一、目标描述
发送要求: 
输入:
1.对方E-Mail地址 
2.smtp服务器地址 
3.username 
4.password 
5.邮件正文 
6.标题(可选) 
发送邮件正文。 
接收要求: 
输入 :
1.pop3服务器地址 
2.username 
3.password 
检索邮件列表,接收邮件正文。
 二、问题描述
1. 如何用C#来发送邮件.
2. 如何用C#来实现基于POP3协议的邮件接收
三、解决方案
1. 邮件的发送
使用System.Net.Mail 命名空间中MailMessage 类和SmtpClient类发送邮件.此方法较简单,不再鳌述.
2. 在邮件接收中
我主要用到了两个类:TcpClient类和NetworkStream类。TcpClient类是运用C#进行网络编程的一个非常重要的类,它提供了通过网络连接、发送和接收数据的简单方法,从而实现了网络编程的大大简化。NetworkStream类实现通过网络套接字发送和接收数据的标准.Net框架流机制,它支持对网络数据流的同步和异步访问,是实现网络通讯的重要组成部分
四、总结
  通过此次练习, 在基于POP3协议的邮件接收时的工作流程为:
在客户端连接服务器成功后,服务器会返回以下信息:+OK…… 字符+OK是POP3协议的返回信息。它的回应信息不像SMTP协议那样用丰富多变的数字表示,只有两个:+OK或者-ERR。其中,+OK表示连接成功,而-ERR则表示连接失败。 
然后通过在客户端输入USER <用户名> 该命令告诉服务器你的用户名。(注:有些服务器会区分大小写字母的)。 当服务器返回+OK后,在客户端再输入PASS <口令> 服务器返回+OK后,会返回一些邮箱的统计信息,比如:+OK n message(s) [**** byte(s)] 不同的服务器返回的信息格式不太一样,所以我们可以用STAT命令来查看邮箱的情况。STAT命令的回应中有两个数字,分别表示邮件的数量和邮件的大小。 如果信箱里有信,就可以用RETR命令来获取邮件的正文。RETR命令的格式为: RETR <邮件编号> 如果返回结果第一行是+OK信息,则表示成功。第二行起便是邮件的正文。最后一行和SMTP协议一样,是一个单独的英文句号,表示邮件的结尾部分,在读取时使用Reader.ReadLine()来读取,其中Reader为StringReader成员。 如果邮件通过POP3收取后可用DELE命令删除邮箱中的邮件,否则你的邮箱就爆了。DELE命令的格式为: DELE <邮件编号> 如果删错了,可以用RSET命令来恢复所有已被删除的邮件(前提时没有退出系统)。所有操作完成后可通过输入QUIT命令退出POP3服务器了。  
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中利用TB-03F进行蓝牙串口收发,你可以按照以下步骤进行操作: 1. 首先,确保你的TB-03F蓝牙模块已经正确连接到电脑上,并且已经安装了相应的驱动程序。 2. 在C#中,你可以使用`System.IO.Ports`命名空间中的`SerialPort`类来进行串口通信。首先,在代码文件的顶部添加`using System.IO.Ports;`语句,以引入命名空间。 3. 创建一个新的`SerialPort`对象,并设置相应的属性,例如串口号、波特率等。例如: ```csharp SerialPort serialPort = new SerialPort("COM1", 9600); ``` 4. 打开串口连接,并确保蓝牙模块已经处于配对状态。使用`Open()`方法来打开串口连接: ```csharp serialPort.Open(); ``` 5. 发送数据到蓝牙模块,可以使用`Write()`方法。例如,发送字符串数据: ```csharp string dataToSend = "Hello, TB-03F!"; serialPort.Write(dataToSend); ``` 6. 接收来自蓝牙模块的数据,可以使用`DataReceived`事件来处理。注册该事件的处理程序,并在处理程序中读取数据。例如: ```csharp serialPort.DataReceived += SerialPortDataReceived; private void SerialPortDataReceived(object sender, SerialDataReceivedEventArgs e) { SerialPort sp = (SerialPort)sender; string receivedData = sp.ReadExisting(); // 处理接收到的数据 } ``` 7. 最后,当不再需要使用串口时,需要关闭串口连接。使用`Close()`方法来关闭串口连接: ```csharp serialPort.Close(); ``` 记得在使用完毕后释放`SerialPort`对象的资源。 这样,你就可以在C#程序中利用TB-03F进行蓝牙串口收发了。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值