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. Office関連

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

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

  2. Excel

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

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

  3. PowerShell

    [PowerShell]MailKitを使ってメールにファイルを添付する方法

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

  4. Windows 10

    PowerShellでMicrosoft Edgeを操作する

    前回の記事でWebDriverを使ってMicrosoft Edgeを操…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP