.NET用メール送受信クラスライブラリ (TKMP.DLL) TKMP : ImapClient Members TKMP : Mailbox Members ▼ バッチファイルpowershell -NoProfile -ExecutionPolicy Unrestricted .\imap_sub_mailbox.ps1 ユーザ パスワードimap_sub_mailbox.ps1
$user = $Args[0]
$pass = $Args[1]
$code = @"
using System;
using TKMP.Net;
using TKMP.Reader;
public class MyClass {
public static void mail_Subbox() {
ImapClient client = null;
// 接続準備
BasicImapLogon logon = new BasicImapLogon("${user}@さくらユーザ.sakura.ne.jp", "${pass}");
client = new ImapClient(logon, "さくらユーザ.sakura.ne.jp", 993);
client.AuthenticationProtocol = AuthenticationProtocols.SSL;
// 接続
try {
if (!client.Connect())
{
Console.WriteLine("接続できませんでした");
return;
}
}
catch (Exception ex) {
Console.WriteLine("接続エラーが発生しました" + ex.Message );
return;
}
// 階層のセパレータ文字列の取得
Console.WriteLine("Separator : " + client.Separator);
// デフォルトメールボックスの表示
Console.WriteLine("FullName : " + client.DefaultMailbox.FullName);
// Mailbox 一覧 : 実質 INBOX
Mailbox[] mailbox_list = client.GetMailBox();
foreach (Mailbox mb in mailbox_list) {
Console.WriteLine( "ルート : " + mb.FullName);
// 全て表示
show_Subbox( mb );
}
// 受信終了
client.Close();
}
// ***************************************
// メールボックス(階層)の一覧表示
// ***************************************
public static void show_Subbox( Mailbox mb ) {
Console.WriteLine( "mailbox : " + mb.FullName );
if ( (mb.Flags & MailBoxFlags.HasChildren) == MailBoxFlags.HasChildren ) {
Mailbox[] mailbox_list = mb.SubMailbox;
foreach (Mailbox mailbox in mailbox_list) {
show_Subbox( mailbox );
}
}
}
}
"@
$path = "C:\user\ps\TKMPDLL_3.1.8"
Add-Type -Path ("${path}\TKMP.dll")
Add-Type -Language CSharp -TypeDefinition $code -ReferencedAssemblies ("${path}\TKMP.dll")
[MyClass]::mail_Subbox()
実行結果Separator : . FullName : INBOX ルート : INBOX mailbox : INBOX mailbox : INBOX.個人用 mailbox : INBOX.AAA mailbox : INBOX.spam mailbox : INBOX.Sent mailbox : INBOX.TEST mailbox : INBOX.Trash mailbox : INBOX.Draft mailbox : INBOX.Drafts mailbox : INBOX.最上位のフォルダ mailbox : INBOX.メールアイテム格納用 mailbox : INBOX.メールアイテム格納用.階層テスト
|
|
【PowerShell + C#の最新記事】
- nuget.exe CLI を使用してパッケージをダウンロードし、C# のソースコードで利用して PowerShell でビルドする
- PowerShell を使用して、C# のコンソールアプリ用のソースコードから exe を作成する( WebClient で wget.exe ) / ビルドせずに PowerShell で実行
- PowerShell で VisualStudio で作成した Form アプリケーションをビルドする( DataGridView に select 文の結果を表示する / MySQL )
- PowerShell で VisualStudio で作成した Form アプリケーションをビルドする( Form アプリケーションを テキストエディタのみで作成するテンプレート )
- nuget.exe + SMO + PowerShell + C# : テーブルの CREATE TABLE 文 を取得
- PowerShell( 実質C# )を使用して、ファイルの分割を行う
- PowerShell( 実質C# )を使用して、MessageBox の応答でバッチファイルの処理を変化させる
- PowerShell で C# のソースコード(get_rec_mysql.cs) を使用して System.Data.Odbc で MySQL のデータを一覧表示( csv )






