Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption TYPO3加密的mailto链接(javascript:linkTo_UnCryptMailto)无法使用主题和正文_Encryption_Typo3 - Fatal编程技术网

Encryption TYPO3加密的mailto链接(javascript:linkTo_UnCryptMailto)无法使用主题和正文

Encryption TYPO3加密的mailto链接(javascript:linkTo_UnCryptMailto)无法使用主题和正文,encryption,typo3,Encryption,Typo3,在TYPO3中,mailto链接由以下代码段解密。 有没有一种方法可以将它与包含主题和正文的mailto链接一起使用 e、 g:email@example.org主题=这是我的主题&主体=这是我的主体文本:更多文本…等等 // decrypt helper function function decryptCharcode(n,start,end,offset) { n = n + offset; if (offset > 0 && n > e

在TYPO3中,mailto链接由以下代码段解密。 有没有一种方法可以将它与包含主题和正文的mailto链接一起使用

e、 g:email@example.org主题=这是我的主题&主体=这是我的主体文本:更多文本…等等

    // decrypt helper function
function decryptCharcode(n,start,end,offset) {
    n = n + offset;
    if (offset > 0 && n > end) {
        n = start + (n - end - 1);
    } else if (offset < 0 && n < start) {
        n = end - (start - n - 1);
    }
    return String.fromCharCode(n);
}
    // decrypt string
function decryptString(enc,offset) {
    var dec = "";
    var len = enc.length;
    for(var i=0; i < len; i++) {
        var n = enc.charCodeAt(i);
        if (n >= 0x2B && n <= 0x3A) {
            dec += decryptCharcode(n,0x2B,0x3A,offset); // 0-9 . , - + / :
        } else if (n >= 0x40 && n <= 0x5A) {
            dec += decryptCharcode(n,0x40,0x5A,offset); // A-Z @
        } else if (n >= 0x61 && n <= 0x7A) {
            dec += decryptCharcode(n,0x61,0x7A,offset); // a-z
        } else {
            dec += enc.charAt(i);
        }
    }
    return dec;
}
    // decrypt spam-protected emails
function linkTo_UnCryptMailto(s) {
    location.href = decryptString(s,-3);
}
//解密助手函数
函数解密字符码(n、开始、结束、偏移){
n=n+偏移量;
如果(偏移量>0&&n>结束){
n=开始+(n-结束-1);
}否则如果(偏移量<0&&n<开始){
n=结束-(开始-n-1);
}
返回字符串.fromCharCode(n);
}
//解密字符串
函数解密字符串(enc,偏移量){
var dec=“”;
var len=附件长度;
对于(变量i=0;i=0x2B&&n=0x40&&n=0x61&&nHmm),这对我来说很有效(TYPO3 v10)

打字稿设置:

config.spamProtectEmailAddresses = -3

流体:

<f:link.email email="my@email.tld?subject=123&body=Hello there!">link</f:link.email>
链接

这将打开带有主题和正文的电子邮件客户端(Firefox 84,Thunderbird)。

如果默认情况下它不运行(可能取决于使用情况,从何处到什么应用程序,但我记得我已经使用过它)。
您可能需要对URL中使用的特殊字符进行编码。
尝试使用PHP函数
urlencode


因此,您可以将所有空格替换为
%20
+

它只适用于一个单词,但不适用于上面的示例:……subject=Hello i contain spaces-and other:stuff&body=i contain spaces und linebreaks您必须对字符串进行URL编码:
link
我这样做了……但这在encrypt js中也不正确。…在TYPO3v10中,即使使用空格,这也适用于我。%20也会生成空格,但它不是必需的。-我编辑了我的回答Typo3v8.7.32…所以这可能是问题…我这样做了,但这并不能解决问题…如果你的邮件应用程序处理不正确,你就不能在TYPO3方面做任何事情。可能涉及到你的浏览器或操作系统。请确定问题(“它不工作”没有描述,因此任何人都可以识别错误并给出解决方案)与邮件客户端无关。我认为%20或+没有被js正确加密。我想知道是否有人有相同的问题,可能还有解决方案;)您尝试过这个,它对您有效吗?如果我从fluid构建邮件链接(
f:link.typolink parameter=“mailto:noone@example.com?subject=mail%20from%20fluid&body=test%20test“>mail
),其中包含
%20
+
,整个程序按原样传输到目标程序(TYPO3 8.7)。如果链接中有空格,则参数将(按预期)拆分为链接目标和链接标题。。。(因此,链接的存储和呈现方式非常重要)。如果我使用
f:link.email
我可以在
email
参数中使用空格,而无需替换空格。如果链接生成有问题,请在没有spamprotection的情况下检查链接生成。因为TYPO3对(任何类型的)都有非常特殊的数据格式链接很容易遇到问题(与垃圾邮件保护无关)。