OutlookのセーフリンクURLを剥がす?

おはようございます。私はソフトウェアサービスのホスト型(ビジネスティア)フォーラムの管理者で、ユーザーが直接私にメールを送るのではなく、メッセージを転送して新しいトピックを作成することで、Discourseへの投稿を促したいと考えています。

残念ながら、私のメールはSafe LinksがWindows Defenderで有効になっている管理対象のOutlook/Office 365アカウントであり、ポリシーを制御することはできません。そのため、Discourseでメールによる投稿を有効にし、自分のメールアカウントからメッセージを転送すると、メッセージに含まれるリンクは、Microsoftの難読化されたSafe Link URLにラップされ、Discourseのトピックでひどい状態になります(Discourseのリンクプレビューなどが壊れます)。

Discourse側で、投稿されたOffice365 Safe Link URLを元のリンクに戻すためのツールやオプションはありますか?見落としているメール設定や、そのような投稿ポリシーを設定するために使用できるプラグインはありますか?これは、Outlook側でメッセージを転送する際に手動で修正する必要があるだけだろうと思いますが、尋ねる価値があると思いました。

OutlookはURLを書き換えるため、あなた自身がDiscourseを使用することで、ユーザーにDiscourseを使用するように優しく促す必要があります。:slight_smile:

Discourseは多くの場合、oneboxを生成するためにリダイレクトをたどります。しかし、それが機能しない場合は、残念ながらトピックを作成するためにメールクライアントではなくDiscourseのUXを使用する必要があります。

「いいね!」 2

…そうですか?しかし、メール経由での投稿機能があるので、そうすることが便利な場合があるということになりますよね :slight_smile: 例えば、既存のメッセージの「転送」をクリックするだけで、UI間で手動でコピー&ペーストする必要がなくなります。

Safe Links は、既知の悪意のあるハイパーリンクをスキャンして受信メールをスキャンします。スキャンされた URL は、Microsoft 標準の URL プレフィックス https://nam01.safelinks.protection.outlook.com を使用して書き換えられるか、ラップされます。

これらをアンラップできるかもしれませんが、どのように書き換えられるかの例をいくつか投稿していただけますか?

受信トレイを検索したところ、2 つ見つかりました。

https://nam01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fvcacanada.com%2F&data=02%7C01%7Cinternalmedicine.altavista%40vca.com%7C8b234337846c4b26704608d859d038fb%7Ca2bdfa5ebe874736892b6db8bbf91546%7C1%7C0%7C637358098123527523&sdata=2b8GyZaj5cH3XNVMQ7KuIB8zgv2n4rEqX2MJutsQn2c%3D&reserved=0
https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fembed%2F4qo27xcVS5I&data=02%7C01%7C%7C53e03ffe911442ddf50108d6492424d0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636776816911303670&sdata=vzPKnv1BDVf6LL4z9P3faVYkxxcLcyjnnrLcch%2B1npA%3D&reserved=0

これは非常に簡単に見えます。

def un_safelink(link):
    try:
        parsed = urllib.parse.urlparse(link)
        if parsed.netloc != 'nam01.safelinks.protection.outlook.com':
            return link
        query = urllib.parse.parse_qs(parsed.query)
        return query['url'][0]
    except:
        return link
「いいね!」 4

私のケースでは、エンタープライズレベルのサブスクリプションに関連すると思われる、特定のアカウントへの参照も含まれているようですが、それ以外はすべて同様のパターンに従っていると思います。例:

https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftransformativemedia.swinburne.edu.au%2F&data=05%7C01%7Cethan.gates%40yale.edu%7Cd0c6ce8e6b4c44f1d9f508db243eda00%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C638143624621704534%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=B5zPUFQ4qRQqSdmtimFQLCnosghaZENDmyaz2zZlw40%3D&reserved=0

:face_with_raised_eyebrow:

ドキュメントなんてそんなものだ

はい、送信者または受信者のメールアドレスをメタデータにエンコードしているようです。必要ありませんが:

{'url': ['http://transformativemedia.swinburne.edu.au/'],
 'data': ['05|01|frodo.baggins@yale.edu|d0c6ce8e6b4c44f1d9f508db243eda00|dd8cbebb21394df8b4114e3e87abeb5c|0|0|638143624621704534|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0=|3000|||'],
 'sdata': ['B5zPUFQ4qRQqSdmtimFQLCnosghaZENDmyaz2zZlw40='],
 'reserved': ['0']}

…そうは思いません。

https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftransformativemedia.swinburne.edu.au%2F&data=05|01|ethan.gates%40yale.edu|d0c6ce8e6b4c44f1d9f508db243eda00|dd8cbebb21394df8b4114e3e87abeb5c|0|0|638143624621704534|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=B5zPUFQ4qRQqSdmtimFQLCnosghaZENDmyaz2zZlw40%3D&reserved=0

ああ、それはひどいですね。プレビューでこれを見ました:

これは次と同じように動作するはずです:

https://transformativemedia.swinburne.edu.au

ただし、oneboxするサイトはまだ機能します:

これは、これらのリンクの「インラインタイトル」の生成方法を調整するだけの問題かもしれません。

「いいね!」 2

ああ、それはプレビュー/ワンボックスに関する悪い例だったかもしれません。他の例を試してみます。いずれにしても、扱いにくいリンク/URL自体ほど懸念事項ではありません!

「いいね!」 1

それは、MicrosoftがURLをどれだけ「安全」にしたかによります。機能させることができる可能性があるように思われるので、問題の難しさについて悲観的すぎたようです。すみませんでした。

Microsoftを使用している人と数回メールをやり取りしましたが、自分のメールリーダーで読むのが難しくなりました。

「いいね!」 2

例を歓迎します!

「いいね!」 2

他のビジネスユーザーから、これを完全に削除することがセキュリティの意図に違反したかどうかについて、意見を聞きたいと思います。この機能の利点の1つは、後でURLが「安全でない」と判断され、クリックしようとしてもブロックされることです。

一方で、フォーラムの所有者は、Microsoftが「フォーラムユーザーのすべての活動を追跡している」と不機嫌になるかもしれません。

ここには議論の両面が見えます。

まともなアプローチは次のようになるかもしれません。

  • safelinkでリンクされたURLが貼り付けられた場合(単独またはインライン)
    • oneboxを通常どおり解決します
    • oneboxまたはタイトルがない場合は、「表示テキスト」をラップされていないリンクにします
    • リンクターゲットはsafelinkでリンクされたURLのままである必要があります

つまり、次のようになります。

https://transformativemedia.swinburne.edu.au

「いいね!」 3