Tag: rfc

如何克服根域CNAME限制?

我们为我们的客户托pipe了许多Web应用程序。 很明显,他们希望使用自己的域来引用这些应用程序,通常他们希望任何键入http://www.customer1.com或http://customer1.com的用户都转到其Web应用程序。 我们面临的情况是,我们需要在不久的将来有更改IP地址的灵活性。 我们不希望依靠客户在其域名上进行Alogging更改。 所以我们认为使用CNAMES是可行的,但是我们发现CNAMEs不适用于根域。 基本上: customer1.com IN CNAME customer1.mycompanydomain.com //this is invalid as the RFC www.customer1.com IN CNAME customer1.mycompanydomain.com //this is valid and will work 我们希望能够更改customer1.mycompanydomain.com的IP地址或Alogging,我们的客户将遵循我们控制的logging。 在我们的DNS中,它将如下所示: customer1.mycompanydomain.com IN A 5.5.5.1 有任何想法吗?

电子邮箱是否区分大小写?

我读过标准的第一部分电子邮件是区分大小写的,但是我试图发送电子邮件到name@example.com , Name@example.com和NAME@example.com – 它已经到达每个案例。 邮件服务器如何处理用户名? 有没有可能错过案件,这个消息不会被传递? 使用完全相同的字母大小写是否非常重要,正如在给予您的电子邮件地址时注册时所写的一样?

return-path,reply-to和from之间的行为差​​异是什么?

在我们的邮件应用程序中,我们发送带有以下标题的电子邮件: FROM: marketing@customer.com TO: subscriber1@domain1.com Return-PATH: bouncemgmt@ourcompany.com 我们面临的问题是,一些电子邮件服务器会立即反弹消息,并使用反向path(marketing@customer.com)而不是我们的反弹pipe理服务器。 我们想要知道,如果我们能够捕获所有的反弹,我们是否在标题中修改了答复 – 与返回path相同。 任何其他的想法,欢迎? 我们使用以下文档作为参考: VERP RFC Bounce消息 SMTP日志parsing来获取反弹 编辑1:多一点的信息,看看我们是否可以得到这个决心。 我们想知道中继邮件的电子邮件服务器将select使用回复还是回复path。 我们已经注意到,当中继消息的第一个smtp服务器被拒绝时,它将它发送给回复,但是当它发生在一跳后,它将它发送到返回path。

数据URIscheme和Internet Explorer 9错误

我在IE 6-9版本中使用RFC 2397数据urlscheme时遇到了问题。 使用当前版本的Safari,FF,Opera和Chrome时,下面的示例代码没有任何问题。 data:text/html;base64,PG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDt1cmw9aHR0cDovL2dvb2dsZS5jb20vIj4g 要么 data:text/html,%3Cmeta%20http-equiv%3D%22refresh%22%20content%3D%220%3Burl%3Dhttp%3A//google.com/%22%3E%20 如果上面的代码被粘贴在几乎所有的浏览器(不包括IE浏览器),它将导航到google.com,当试图与IE浏览器失败,并出现以下错误。 网页无法显示 最可能的原因是: 本网页上的某些内容或文件需要您没有安装的程序。 你可以尝试一下: 在线search可用于查看此Web内容的程序。 重新input地址。 在检查生成的IE错误页面的页面源时,有一个链接引用了文件关联和协议。 协议types: 描述:UnKnown Windows不能识别这个协议。 我意识到使用data:协议可能不是最直接的,或者在大多数情况下是最好的select,但是我必须将它用于这个特定的项目。 我已经search了一个解决scheme,并试图与IE浏览器希望是我的语法,但还没有find一个解决scheme的很多例子。

RegExparsing或validationBase64数据

是否有可能使用RegEx来validation或清理Base64数据? 这是一个简单的问题,但推动这个问题的因素是困难。 我有一个Base64分析器,不能完全依赖input数据来遵循RFC规范。 所以,我面对的问题是可能不会分解为78(我认为是78,我不得不仔细检查RFC,所以如果确切的数字是错误的,我不认为)字符行,或者线路不能在CRLF中结束,因为它可能只有CR或LF,或者没有。 所以,我已经有一段时间来parsingBase64格式的数据,所以像下面这样的例子变得不可能正确解码。 为了简洁,我只会显示部分MIME头文件… Content-Transfer-Encoding: base64 VGhpcyBpcyBzaW1wbGUgQVNDSUkgQmFzZTY0IGZvciBTdGFja092ZXJmbG93IGV4YW1wbGUu 好吧,parsing这个没有问题,这正是我们所期望的结果。 在99%的情况下,使用任何代码至lessvalidation在缓冲区中的每个字符是一个有效的base64字符,完美的作品。 但是,这引发了一场混战。 Content-Transfer-Encoding: base64 http://www.stackoverflow.com VGhpcyBpcyBzaW1wbGUgQVNDSUkgQmFzZTY0IGZvciBTdGFja092ZXJmbG93IGV4YW1wbGUu 这是我在某些病毒和其他东西中看到的利用某些邮件阅读器阅读的b64编码的一个版本,它希望不惜一切代价来parsingmime,而不是严格按照本书进行parsing,而不是RFC; 如果你愿意。 我的base64解码器解码第二个例子到下面的数据stream。 原始stream是全部ASCII数据! 0x86DB69FFFC30C2CB5A724A2F7AB7E5A307289951A1A5CC81A5CC81CDA5B5C1B19481054D0D 2524810985CD94D8D08199BDC8814DD1858DAD3DD995C999B1BDDC8195E1B585C1B194B8 任何人都有一个很好的方法来同时解决这两个问题? 我不确定甚至有可能,除了对数据进行两次不同规则的转换,并对结果进行比较,甚至是这样,你信任哪一个呢? 看起来,ASCII Heuristics就是最好的解决scheme,但是代码和执行时间又多了多less,就像病毒扫描程序一样复杂,这个代码涉及到了什么? 你将如何训练启发式引擎来学习什么是可接受的b64,哪些不是? 更新: 做这个问题继续得到的意见的数量,我已经决定张贴我已经在C#应用程序中使用了3年的简单RegEx现在,成千上万的交易。 老实说,我喜欢Gumbo最好的答案,这就是为什么我select它作为select的答案。 但是,对于任何使用C#的人来说,至less要查找一个非常快捷的方法来检测string或byte []是否包含有效的b64数据,正如我所说的,这对我来说工作得非常好。 [^-A-Za-z0-9+/=]|=[^=]|={3,}$ 是的,这是针对base64数据的STRING ,而不是格式正确的RFC1341消息。 因此,如果您正在处理此类数据,请在尝试使用上述RegEx之前考虑这一点。 如果你正在处理Base16,Base32,Radix甚至Base64用于其他目的(URL,文件名,XML编码等),那么强烈build议你阅读Gumbo在他的回答中提到的RFC4648 ,因为你需要做好在尝试使用此问题/答案集中的build议之前,了解实现所使用的字符集和终止符。