gpt4 book ai didi

email - Outlook 从电子邮件中去除 URL 哈希

转载 作者:行者123 更新时间:2023-12-04 21:48:35 25 4
gpt4 key购买 nike

我们的应用程序会生成一封电子邮件,其中包含一个带有哈希片段的链接。

  • 当 Outlook 2010 用户单击 HTML 链接(在 <a> 标记内)时,URL 会打开,但神秘地排除了哈希片段。
  • 如果用户单击普通 URL(Outlook 转换为可点击链接),完整 URL 将正确打开。

  • 这是我们 Rails 应用程序中的相关代码,如果有帮助的话:
    mail(from: @message.from, to: @message.to, cc: @message.cc, bcc: @message.bcc, subject: @message.subject) do |format|
    format.html { render text: @message.body_text }
    end

    电子邮件消息(被截断;使用 Twitter URL 代替我们的应用 URL,遵循类似的模式):

    Subject: Hello
    Mime-Version: 1.0
    Content-Type: text/html;
    charset=UTF-8
    Content-Transfer-Encoding: 7bit

    <html>
    <head>
    <meta content='text/html; charset=utf-8' http-equiv='content-type'>
    <title>title</title>
    </head>
    <body>
    <table id='message_body_template'>
    <tr>
    <td>
    <p><a href="http://twitter.com/#!/cnn" title="" target="">Click here</a>
    to learn more.</p>
    <p>Plain text link: http://twitter.com/#!/cnn</p>
    </td>
    </tr>
    </table>
    </body>
    </html>

    单击此处打开 Twitter 主页,而纯文本“链接”打开 CNN 的 Twitter 页面。谁能解释为什么?

    最佳答案

    是的,问题与您使用的后端无关。看起来(令人沮丧的是)某些版本的 Outlook 删除了 URL 的哈希部分。

    我的解决方案是 通过电子邮件发送没有哈希值的链接的修改版本,然后将其重定向到它应该去的地方 .

    当我在 Laravel + Backbone 中遇到同样的问题时,我在 routes.php 中使用此代码执行了重定向。 (相当于 Rails 中的 routes.rb):

    // Redirect /password-reset/XYZ to #/password-reset/XYZ
    Route::get('/password-reset/{any}', function() {
    $url = Request::url(); // Get full URL
    $path = Request::path(); // Get portion of URL after the domain name
    return Redirect::to(str_replace($path, "#", $url) . $path);
    });

    关于email - Outlook 从电子邮件中去除 URL 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9933471/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com