簡體   English   中英

了解SMTP中電子郵件的傳輸結束

[英]Understand end of transmission of email message in SMTP

我有一個簡單的SMTP交易記錄。 (它有點長,所以在這里訪問它)。 它顯示了諸如HELOMAIL等低級握手的交換。

當本應接收電子郵件的服務器准備好接受電子郵件數據時,它將發送以下內容(日志中的第12行):

RawSmtp Information: 0 : << 354 Start mail input; end with <CRLF>.<CRLF>

但是,傳輸結束有點混亂(第74/75行):

RawSmtp Information: 0 : >> cannot foresee
RawSmtp Information: 0 : >> 
RawSmtp Information: 0 : << 250 OK

在記事本中查看時,其外觀如下:

在此處輸入圖片說明

但是,代碼只是這樣寫的:

                            WriteResponse(writer, "354 Start mail input; end with <CRLF>.<CRLF>");
                            string line;
                            while ((line = reader.ReadLine()) != null && line != ".")
                            {
                                //do stuff
                            }

那是標准嗎? 我的意思是發送類似<CRLF>.<CRLF>並且僅檢查點( . )...?

它只檢查一個整行. 在里面。 這是指示DATA節結束的標准技術。 這里

另外,正如@jstedfast指出的那樣, StreamReader.ReadLine()方法從其返回的字符串中刪除"\\r\\n"行尾序列,因此在這種情況下,結果字符串將為"."

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM