小编its*_*ood的帖子

超链接正在被电子邮件覆盖

我正在使用Zend_Mail和Send Grid从我的网站发送电子邮件.我在电子邮件中有超链接,当它到达用户的收件箱时被覆盖了看似垃圾的东西.

例如,

href ="http://www.foo.com"正在变成href ="http://email.foo.com/wf/click?upn=DSDRHSSBH2938TS".

当我从href中删除'http://'时,我没有这个问题.但是,这对我来说不是一个解决方案,因为没有'http://'的链接在某些电子邮件客户端中不起作用.

我检查了Zend Mail内容,链接似乎没问题,所以我想知道这是发送网格还是电子邮件客户端的问题.我已经浏览了整个网络,并且发现了很少的信息.我见过一些有类似问题的人,但没有人能够提供真正的解决方案.

有没有人见过这样的东西?如果需要,我很乐意提供更多信息.

email zend-framework sendgrid

6
推荐指数
1
解决办法
3743
查看次数

PHP RegEx 不会出现问号

我正在尝试使用 PHP 函数“preg_match_all”来匹配字符串中的 url。它工作正常,但它不会匹配带有问号的网址。

例如,这将很好地匹配:

http://espn.com/mlb
Run Code Online (Sandbox Code Playgroud)

但这不会匹配:

http://espn.com/mlb?player=71
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的正则表达式,

$regexUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
Run Code Online (Sandbox Code Playgroud)

我不明白为什么问号没有被 \S 选中。我尝试了很多不同的表达方式,但无法让问号匹配。有任何想法吗?

编辑:

事实证明 preg_match_all 返回 true,但我没有转义 preg_match_all 输出中的问号,因此我稍后进行的 preg_replace 调用失败了。

php regex preg-match-all

1
推荐指数
1
解决办法
3958
查看次数

标签 统计

email ×1

php ×1

preg-match-all ×1

regex ×1

sendgrid ×1

zend-framework ×1