投稿

ラベル(Outlook)が付いた投稿を表示しています

2段階認証、面倒くさい

2段階認証が増えてきているこの頃、ログインした後にメーラーに切り替えてコードをコピーして貼り付ける作業、何気に面倒。しかもタイムアウトが短いサイトだと何度も入力することになったりする。何とかできないかとやってみた。 方針 特定メールのみを受信して処理するメーラーを作って処理するというツールを作ったことはあるけど、面倒なのでそこまではやらない。 やるべきことは対象のメールを読んでパスコードを探し出しコピーペーストするのだけど、ペーストはあきらめて、クリップボードにコピーするまでという方針にする。使っているメーラーがoutlookなので、あまり使ったことのないoutlookのVBAを使用してみます。 ソース説明 outlook で、 Alt + F11を押してVBEを起動して下のソースを貼り付ける。 このソースでは2つのメールアドレスから来たメールについてパスコードを探し出す関数を呼び出します。パスコードを探し出す関数では文字列からパスコードの直前を探し出してクリップボードにコピーする関数を呼び出します。 増減は適当にどうぞ。 できる限り条件を絞って余計なメールは処理しないように注意が必要かと思います。 vbaでクリップボードにコピーするくらいすぐできると思ったのだが、テキストボックスオブジェクトを作成してそこに文字を入力してコピーするという何ともキモイ感じですが、探してもこんな方法しかないらしいので仕方なし。 まとめ ログインボタンを押して、少し待つとメールを受信して、パスコードがクリップボードにセットされるので、CTRL + Vで張り付ける。 たまに発動しない時があるみたいだけど、その時は再送するかあきらめてメーラーからコピーする。 それなりに動いてるし、使ったことのないoutlookのVBAも使えて満足したのでこれでいいか。 ソース ThisOutlookSession ここからーーーーーーーー Const REPLY_SENDER1 = "no-reply@hogehoge.com" Const REPLY_SENDER2 = "no-reply@mogumogu.com" Private Sub Application_NewMailEx(ByVal EntryIDCollection As String) D...

Outlookが期待していないリクエストを送信する

イメージ
  こんにちは。 今年もAdvent Calendarに参加します。MPPAです。 自分的には今年一番の職務上で出会ってはまった事象を、 今回の記事に書きたいと思います。 👊目次👺 事象紹介 実際に試す環境づくり(AWS Lambda) 事象再現 さいごに 1.事象紹介:Outlookの謎通信 メールによくリンクが張ってありますが、これをOutlookでクリックして、 ブラウザで開くと以下のようなアクセスが行われていることがわかりました。  ・メールのリンクをクリックする  ・ まずHEADリクエストがサーバーに送信される。← 期待してない  ・続いてブラウザが開いてリンクにアクセスする。 赤字の部分が、サーバー側というかコーディングしている上では予期せぬ動きで、 作成時にデバッグ、単体テストを実施しているときは全く気づきませんでした。 今回はパスワードリセットのメールで、リンクをクリックするとパスワードが初期化されるというものでしたので、皆メールのリンクをクリックするはずです。 色々調べてみたのですが、このような仕様がOutlookにあるなんていうのはどこにも見当たらず。。。 ちなみに環境は  サーバー:GCP(Google Cloud) CroudRun関数  言語:Python  クライアント:Windows 11  メーラー:Outlook デスクトップアプリ(Classic) です。OutlookのWebアプリや最新のOutlook(new)では事象は発生しないようです。 2.実際に試す環境づくり(AWS Lambda) では、実際に環境を作成してきます。 用意するものは簡単です。 複雑なアプリケーションを作る必要はなく、受け口を作っておけばいいのです。 というわけで、AWS Lambdaを利用してHello Worldとでも返すコンテンツを作成します。 Lambdaで関数の作成を選んで、行きます。 ここ半年で猛烈に学習したPythonで「hello_lambda」を作成します。 コードはこんな感じにしておきましょう。 import json def lambda_handler ( event , context ):         http_method = event[ "requestCo...