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. Windows 10

    ストアアプリを起動するPowerShellコード

    ストアアプリ(UWPアプリ)は実行ファイルをダブルクリックする等して直…

  2. Power Automate for desktop

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

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

  3. Excel

    Excelを使わずにCSVからExcelファイルに変換するPowerShellコード

    CSVファイルからExcelファイルに変換する処理を自動化したい、Ex…

  4. Office関連

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

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

  5. Office関連

    PowerShellからNetOfficeを使ってExcelを操作する方法

    先日、Excel MVPの伊藤さんがPowerShellからExcel…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP