Questions tagged «rfc»

5
电子邮件地址区分大小写吗?
我已经读过,按照标准,电子邮件的第一部分区分大小写,但是我尝试将电子邮件发送到name@example.com,Name@example.com并且NAME@example.com-在每种情况下都已经到达。 邮件服务器如何处理用户名?是否有可能错过案件而该消息将不会发送?使用完全相同的字母大小写,就像在注册时提供电子邮件地址时写的那样,真的非常重要吗?
304 email  smtp  rfc 

4
return-path,reply-to和from之间的行为差​​异是什么?
在我们的邮件应用程序中,我们正在发送带有以下标头的电子邮件: FROM: marketing@customer.com TO: subscriber1@domain1.com Return-PATH: bouncemgmt@ourcompany.com 我们面临的问题是某些电子邮件服务器将立即退回邮件,并使用“从”或反向路径(marketing@customer.com)来代替我们的退回mgmt服务器。我们想知道是否可以在标头中将reply-to修改为与return-path相同,以便我们能够捕获所有反弹。 还有其他想法吗? 我们使用以下文档作为参考: VERP RFC 退回邮件 SMTP日志解析以获取退回 编辑1:更多信息,看看是否可以得到解决。 我们想知道中继邮件的电子邮件服务器将在什么时候选择使用回复至返回路径。我们已经注意到,当第一个中继该消息的smtp服务器被拒绝时,它将其发送到答复者,但是当它在一跳之后发生时,它将其发送到返回路径。
162 email  smtp  rfc  email-client  bounce 

8
如何克服根域CNAME的限制?
我们为客户托管了许多Web应用程序。显而易见,他们希望使用自己的域来引用这些应用程序,通常,他们希望键入http://www.customer1.example或http://customer1.example访问其Web应用程序的任何用户。 我们面临的情况是,我们需要在不久的将来灵活地更改IP地址。而且,我们不想依靠客户在其域上进行A记录更改。因此,我们认为使用CNAME记录会起作用,但是当我们发现CNAME记录对根域不起作用时。 基本上: customer1.example IN CNAME customer1.mycompanydomain.example //this is invalid as the RFC www.customer1.example IN CNAME customer1.mycompanydomain.example //this is valid and will work 我们希望能够更改customer1.mycompanydomain.example或A记录的IP地址,而我们的客户将遵循我们拥有控制权的该记录。 在我们的DNS中,它将看起来像: customer1.mycompanydomain.example IN A 192.0.2.1 有任何想法吗?
116 networking  dns  rfc  cname 

5
RegEx解析或验证Base64数据
是否可以使用RegEx来验证或清除Base64数据?这是一个简单的问题,但是导致这个问题的因素是什么使它变得困难。 我有一个Base64解码器,它不能完全依赖输入数据来遵循RFC规范。因此,我面临的问题是可能未将Base64数据分解为78(我认为是78,我必须仔细检查RFC,因此如果确切的数字有误,请不要给我发声)字符。行,或者行不能以CRLF结尾;因为它可能只有CR或LF,也可能没有。 因此,我很难解析这样格式化的Base64数据。因此,无法可靠地解码以下示例。为了简洁起见,我将仅显示部分MIME标头。 Content-Transfer-Encoding: base64 VGhpcyBpcyBzaW1wbGUgQVNDSUkgQmFzZTY0IGZvciBTdGFja092ZXJmbG93IGV4YW1wbGUu 好的,所以解析没有问题,而正是我们期望的结果。在99%的情况下,使用任何代码至少验证缓冲区中的每个字符都是有效的base64字符,都可以正常工作。但是,下一个示例将一把扳手扔进了锅里。 Content-Transfer-Encoding: base64 http://www.stackoverflow.com VGhpcyBpcyBzaW1wbGUgQVNDSUkgQmFzZTY0IGZvciBTdGFja092ZXJmbG93IGV4YW1wbGUu 这是Base64编码的一种版本,在一些病毒和其他东西中,我已经看到它们试图利用某些邮件阅读器,他们希望不惜一切代价来解析mime,而不是严格按照书本或RFC进行解析。如果可以的话。 我的Base64解码器将第二个示例解码为以下数据流。请记住,原始流是所有ASCII数据! [0x]86DB69FFFC30C2CB5A724A2F7AB7E5A307289951A1A5CC81A5CC81CDA5B5C1B19481054D0D 2524810985CD94D8D08199BDC8814DD1858DAD3DD995C999B1BDDC8195E1B585C1B194B8 任何人都有同时解决两个问题的好方法吗?我不确定是否有可能,除了对数据应用了不同的规则进行两次转换并比较结果之外。但是,如果您采用这种方法,那么您信任哪个输出?看来ASCII启发式技术是最好的解决方案,但实际上,该代码涉及的病毒扫描程序又要复杂多少呢?代码,执行时间和复杂性又会增加多少呢?您将如何训练启发式引擎来了解什么是可接受的Base64,什么不是? 更新: 对于这个问题继续得到的观点,我决定发布一个简单的RegEx,该正则表达式已经在C#应用程序中使用了3年,涉及数十万笔交易。老实说,我最喜欢Gumbo给出的答案,这就是为什么我选择它作为选定答案。但是对于使用C#并寻找一种至少能检测出一个字符串或byte []是否包含有效Base64数据的快速方法的人,我发现以下内容对我来说非常有效。 [^-A-Za-z0-9+/=]|=[^=]|={3,}$ 是的,这仅适用于STRING的Base64数据,而不是格式正确的RFC1341消息。因此,如果您要处理此类数据,请在尝试使用上述RegEx之前将其考虑在内。如果您出于其他目的(URL,文件名,XML编码等)使用Base16,Base32,Radix或什至Base64,那么强烈建议您阅读Gumbo在其回答中提到的RFC4648,因为您需要保持良好状态在尝试使用此问题/答案集中的建议之前,请了解实现所使用的字符集和终止符。

2
为什么HTTP服务器禁止在HTTP标头名称中使用下划线
我有一个自定义HTTPSESSION_ID标头未由nginx代理传输的问题。 有人告诉我,根据HTTP RFC,下划线是禁止的。 搜索时,我发现大多数服务器(例如Apache或nginx)在RFC2616第4.2节中将它们定义为非法,该消息说: 遵循与RFC 822 [9]第3.1节中给出的相同通用格式。 RFC822说: 字段名称必须由可打印的ASCII字符组成(即,值介于33和126之间的字符,十进制,冒号除外) 下划线是ASCII表中的十进制字符95,范围为33-126。 我想念什么?
71 apache  http  nginx  rfc 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.