PowerShell

[PowerShell]MailKitを使ってサーバー上のメールを確認する方法(POP3)

先日からMailKitを使ってメール送信を行うPowerShellのコードについて記事を書いてきました。

今度はメール送信ではなく、受信側の処理を試してみたいと思います。

#DLL読み込み
[void][System.Reflection.Assembly]::LoadFile("C:\System\MailKit\MailKit.dll")
[void][System.Reflection.Assembly]::LoadFile("C:\System\MailKit\MimeKit.dll")

#必要に応じて変更
$userID = "xxxx@xxxxxxxxxx.onmicrosoft.com"
$userPassword = "(パスワード)"
$mailServer = "outlook.office365.com"
$mailPort = 995

#メールサーバー設定
$client = New-Object MailKit.Net.Pop3.Pop3Client
$client.Connect($mailServer, $mailPort, [MailKit.Security.SecureSocketOptions]::SslOnConnect)
$client.Authenticate($userID, $userPassword)

#メールの件名出力
for($i=0; $i -lt $client.Count; $i++){
  $msg = $client.GetMessage($i)
  [System.Console]::WriteLine("{0}, {1}", $i, $msg.Subject)
}

#DeleteMessageメソッドでメールを削除することも可能
#$client.DeleteMessage($client.Count - 1)

$client.Disconnect($true)

Office 365のメール受信サーバーにPOPで接続して、サーバー内にあるメールの件名を一覧表示するコードです。

上記コードではメールの件名しか取得していませんが、宛先や本文など、その他のプロパティも簡単に取得することができます。

MailKit、ほんの少ししか触っていませんが、お手軽で使い勝手が良く、かなり便利だと思います。

2018年11月の人気記事前のページ

[Google Apps Script]選択中のスライドに対してのみ処理を行う次のページ

関連記事

  1. PowerShell

    [PowerShell]iTextSharpを使ってPDFファイルのページ数を取得する

    前回の記事では、VBAでAdobe ReaderからPDFファイルのペ…

  2. Office関連

    PowerShellからNetOfficeを使ってWordやPowerPointを操作する方法

    前回の記事関連で、WordやPowerPointもドンとこいで…

  3. Office関連

    Excel REST APIをPowerShellから呼び出す方法

    以前Excel REST APIをVBAから呼び出す方法を紹介しました…

  4. Power Automate for desktop

    Power Automate Desktopを更新するPowerShellスクリプト

    公式ブログを見れば分かる通り、Power Automate Deskt…

  5. Office関連

    Officeアプリケーションのバージョン情報ダイアログから情報を取得するVBScript

    自分の手間を減らすためのスクリプトシリーズ、今回はWordやExcel…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP