ラベル OpenPop.NET の投稿を表示しています。 すべての投稿を表示
ラベル OpenPop.NET の投稿を表示しています。 すべての投稿を表示

2018年3月8日木曜日

PowerShellでメールを受信|Receive email with PowerShell,OpenPop.NET

<#
OpenPOP.NET code repository http://hpop.sourceforge.net/
OpenPop.NET 日本語情報トップページ - OSDN : https://ja.osdn.net/projects/sfnet_hpop/
#>

Add-Type -Path "C:\OpenPop.NET 2.0.5\binaries\unsigned\OpenPop.dll" ;

$hostname="POP_Server";
$port=110;
$useSsl=$False;
$username="POP_Account";
$password="POP_Password";

$client = New-Object OpenPop.Pop3.Pop3Client

$client.Connect($hostname, $port, $useSsl);
$client.Authenticate($username, $password);

$messageCount = $client.GetMessageCount();
#$client.GetMessageUids();

$Message=$client.GetMessage(1);

$textVersions=$Message.FindAllTextVersions();
$TEXT= New-Object System.Text.StringBuilder;
$HTML= New-Object System.Text.StringBuilder;
foreach ($textVersion in $textVersions)
{
$MediaType=$textVersion.ContentType.MediaType;
$IsAttachment=$textVersion.IsAttachment;
IF($MediaType -eq "text/plain" -And $IsAttachment -eq $False ){
$TEXT.Append($textVersion.GetBodyAsText())| Out-Null;
}elseif($MediaType -eq "text/html" -And $IsAttachment -eq $False){
$HTML.Append($textVersion.GetBodyAsText())| Out-Null;
}
}

$PATH_LIST= New-Object System.Collections.ArrayList;
$attachments=$Message.FindAllAttachments();
 foreach ($attachment in $attachments)
  {
$PATH="C:\Users\USER\Desktop\attachment\" + $attachment.FileName;
  $attachment.Save($PATH);
  $PATH_LIST.Add($PATH)| Out-Null;
}

$Message.Headers.Subject;
$Message.Headers.From.Address;
$Message.Headers.From.DisplayName;
$Message.Headers.To.Address;
$Message.Headers.To.DisplayName;
$Message.Headers.Date;
$Message.Headers.DateSent;
$TEXT.ToString();
$HTML.ToString();
$PATH_LIST;