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]MailKitを使ってメールにファイルを添付する方法

    先日、PowerShellからMailKitを使ってメールを送信する方…

  2. Office関連

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

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

  3. PowerShell

    [PowerShell]UI Automationで電卓を操作する方法

    「PowerShell UI Automation 操作」といったキー…

  4. PowerShell

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

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

  5. PowerShell

    [PowerShell]MailKitを使ってメールを送信する方法

    @ITを眺めていたら、気になる記事を見かけました。Ma…

  6. Office関連

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

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

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP