ara*_*een 4 c# email ticket-system
我将开发一个带有c#的票务系统,它应该在提交票证时向接收者发送包含票证内容的电子邮件,并且接收者应该能够回复该电子邮件,这导致发件人收到回复的电子邮件.让我感到困惑的是,我将如何跟踪接收方回复的特定机票.我不是在寻找任何代码,只是概念或最佳实践.
从理论上讲,您可以Message-ID结合使用In-Reply-To,如RFC 5322中所述:
在"消息ID:"字段提供了指特定消息的特定版本的唯一消息标识符.消息标识符的唯一性由生成它的主机保证(见下文).该消息标识符旨在是机器可读的,并且不一定对人类有意义.消息标识符恰好与特定消息的一个版本有关; 对消息的后续修订每个都接收新的消息标识符.
在"在-回复:"和"参考文献:"字段创建一个消息的答复时使用.它们保存原始消息的消息标识符和其他消息的消息标识符(例如,在回复本身是回复的消息的情况下)."In-Reply-To:"字段可以用于标识新消息作为回复的消息(或多个消息),而"References:"字段可以用于标识会话的"线程".
创建对邮件的回复时,结果邮件的"In-Reply-To:"和"References:"字段构造如下:
"In-Reply-To:"字段将包含该消息的"消息ID:"字段的内容("父消息").如果有多个父消息,则"In-Reply-To:"字段将包含所有父节点的"Message-ID:"字段的内容.如果任何父消息中没有"Message-ID:"字段,则新消息将没有"In-Reply-To:"字段.
当然,您应该Message-ID在单独的数据库表中跟踪字段和内部票证号之间的映射.
例
从yahoo.com收到回复R1.邮件头信息:
References:
<11111@yourCompany.com>
Message-ID:
<22222@webServer.yahoo.com>
In-Reply-To:
<11111@yourCompany.com>
Run Code Online (Sandbox Code Playgroud)从yahoo.com收到回复R3到R2.邮件头信息:
References:
<11111@yourCompany.com>
<22222@webServer.yahoo.com>
<33333@yourCompany.com>
Message-ID:
<44444@webServer.yahoo.com>
In-Reply-To:
<33333@yourCompany.com>
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
1497 次 |
| 最近记录: |