http://exwarp.com
お問い合わせ先
info@exwarp.com
ホーム
製品情報ページへ
ショッピングカートへ
ライブラリ価格表ページへ
メンバー登録ページへ
特定商取引法に基づく表記
テクニカルブログへ

RFC822ライブラリ
MIMEライブラリ
メールメッセージライブラリ
MIMEメディアタイプ変換ライブラリ
POP3メール受信ライブラリ
SMTPメール送信ライブラリ

ログイン

現在の状態:

ログインしていません。

メールアドレスを入力してください
パスワードを入力してください.
メンバー登録はこちらから

更新履歴

2013/4/7

最近ExwarpMailKitをご購入いただいたお客様のご感想を掲載しました。 詳細は、導入事例をご覧下さい。

2009/3/2

Exwarp MailKit 1.0.438.* をリリースしました。
今回のリリースより、SmtpExtensionおよびEmojiModuleを同梱した新パッケージとなり、価格は¥25,000-と改定いたしました。
携帯デコメールや、大量メール送信の時間短縮などの魅力的な機能が標準で使えるパッケージとなっております。微細な仕様変更・バグ修正も行っており、より安定したメール送信を実現いたしました。
すでに製品版をお買い上げいただいたお客様は無料で新パッケージに移行していただけます。
購入時のURLとID/PASSでmailkit.zipをダウンロードしてください。

2008/10/4

ExwarpMailKit1.0.421.*公開のお知らせ
ExwarpMailKitがバージョンアップしました。
新しい機能として、バイナリデータ(2バイト限定)の挿入に対応しました。
同時にリリースされた絵文字拡張モジュールを使用するためにはこのバージョンへのバージョンアップが必要です。


exWarp Blog
サンプルコードの実行には、Exwarp MailKitが必要です。こちらから無料でダウンロードできます。
記事の一覧| 全表示
フィード RSS


Add to google

POP3サーバーからメールを削除せずに新着メールを受信する

Exwarp MailKitのPop3ClientContextプロパティを使用すると、すでに受信済みのメールのUID(ユニークID)を保存することができます。
この機能を利用すると、POP3サーバーからメールを削除せずに、新着メールのみの受信を行なうことができます。
[C#]
Exwarp.Net.Pop3.Pop3Client pc = new Exwarp.Net.Pop3.Pop3Client("POP3_HOST");
pc.User = "POP3_USER";
pc.Pass = "POP3_PASS";
pc.Context = context;
pc.Connect();
pc.ReceiveAllMessages();
pc.Close();

[VB.Net]
Dim pc As New Exwarp.Net.Pop3.Pop3Client("POP3_HOST")
pc.User = "POP3_USER"
pc.Pass = "POP3_PASS"
pc.Context = context
pc.Connect()
pc.ReceiveAllMessages()
pc.Close()

[解説]
POP3_HOSTはPOP3ホスト、
POP3_USERはPOP3ホストへ接続するユーザー名、
POP3_PASSはPOP3ホストへ接続するパスワードをそれぞれ表す文字列定数です。
contextExwarp.Net.Pop3.Pop3Contextのインスタンスを表します。このクラスのインスタンスの生成方法については下部でさらに説明します。

通常のメール受信の前にExwarp.Net.Pop3.Pop3ClientオブジェクトのContextプロパティにExwarp.Net.Pop3.Pop3Contextオブジェクトをセットします。
ContextプロパティにPop3Contextオブジェクトがセットされている場合、Pop3Clientは、受信メールのUIDのリストをPop3ContextUniqueIdListプロパティに追加してゆきます。

Pop3Contextオブジェクトを毎回の受信の前にセットすることで、新着メールのみを受信することができますが、そのためにはPop3Contextオブジェクトをシリアル化(保存)して、次回の受信時に復元しなくてはいけません。
次にExwarp.Net.Pop3.Pop3Contextオブジェクトのシリアル化/デシリアル化を解説します。

以下の例では,contextという変数で表されるExwarp.Net.Pop3.Pop3ContextオブジェクトをC:\context.serというファイルに保存/復元します。(ファイル名及び拡張子はどんな文字列でも構いません。)

Exwarp.Net.Pop3.Pop3ContextクラスはSystem.SerializableAttribute属性が定義されています。ですからこのオブジェクトをフォーマッタを使用してシリアライズ/デシリアイズすることができます。
■シリアライズ方法(保存)
[C#]
System.IO.Stream st = new System.IO.FileStream("c:\\pop3context.ser",System.IO.FileMode.Create);
System.Runtime.Serialization.IFormatter f = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
f.Serialize(st,context);
st.Close();

[VB.Net]
Dim st as New System.IO.FileStream("c:\pop3context.ser",System.IO.FileMode.Create)
dim f As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
f.Serialize(st,context)
st.Close()

[解説]
オブジェクトのシリアル化には、System.Runtime.Serialization.Formatters.Binary.BinaryFormatterクラスを使用します。シリアル化(保存)したいファイルのストリームを表すSystem.IO.Streamとシリアル化したいオブジェクト(context)をSerializeメソッドのパラメータにセットするだけでオブジェクトのシリアル化は完了です。

■デシリアライズ方法(復元)
[C#]
System.IO.Stream st = new System.IO.FileStream("c:\\pop3context.ser",System.IO.FileMode.Open);
System.Runtime.Serialization.IFormatter f = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
Exwarp.Net.Pop3.Pop3Context context = (Exwarp.Net.Pop3.Pop3Context)f.Deserialize(st);
st.Close();

[VB.Net]
Dim st as New System.IO.FileStream("c:\pop3context.ser",System.IO.FileMode.Open)
dim f As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
Dim context As Exwarp.Net.Pop3.Pop3Context = f.Deserialize(st)
st.Close()

[解説]
オブジェクトの復元には、System.Runtime.Serialization.Formatters.Binary.BinaryFormatterクラスを使用します。デシリアイズ(復元)したいファイルのストリームを表すSystem.IO.StreamDeserializeメソッドのパラメータに返すと、ファイルから復元されたオブジェクトが返されます。

この方法でPOP3ホストからメールを削除せずに新着メールのみを取得することができます。
(注意)UIDの値が他のPOP3ホストと重複することがあり得るため、Pop3ContextはPOP3ホストごとに1ファイル作成するようにして下さい。


サンプルコード
[C#]
System.Runtime.Serialization.IFormatter f = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
if(System.IO.File.Exists("c:\\pop3context.ser"))
{
  using(System.IO.Stream st = new System.IO.FileStream("c:\\pop3context.ser",System.IO.FileMode.Open))
  {
    context = (Exwarp.Net.Pop3.Pop3Context)f.Deserialize(st);
  }
}
else
{
  context = new Exwarp.Net.Pop3.Pop3Context();
}

Exwarp.Net.Pop3.Pop3Client pc = new Exwarp.Net.Pop3.Pop3Client("POP3_HOST");
pc.User = "POP3_USER";
pc.Pass = "POP3_PASS";
pc.Context = context;
pc.Connect();
pc.ReceiveAllMessages();
pc.Close();

using(System.IO.Stream st = new System.IO.FileStream("c:\\pop3context.ser",System.IO.FileMode.Create))
{
  f.Serialize(st,pc.Context);
}
2007/05/12 12:34:59更新
カテゴリ:Exwarp MailKit マニュアル

"Exwarp MailKit マニュアル"のほかの記事

メールにカスタムヘッダーを追加するメールに独自のヘッダ...
メールにテキスト形式とHTML形式の本文を混在させるメールに複数の形式の...
PopBeforeSmtp認証を行なうSMTPホストによっては...
SMTPでメール送信ホストを通知するSmtpClientのLocalHos...
一度の接続で複数のメールを連続送信する。Exwarp.Net.Smtp.Smtp...
PropertyGridに表示されるプロパティ名を変更するPropertyGridはオブジ...
SMTP-AUTHでSMTPサーバーに接続するESMTPでは、SMTPサー...
メールにダミーの宛先を設定する同時に複数の宛先にメ...
Message-IdのカスタマイズメールのメッセージID...
メールの日付ヘッダーを.NETのDateTimeに変換するDateヘッダーフィール...
複雑なメールアドレスの妥当性チェックRFC2822では、\"in(ne...
MIMEエンコードを行なうRFC/822では、非ASCII...
HMAC-MD5(鍵付きMD5,KeyedMD5)を実行するHMAC-MD5(鍵付きMD5...
MIMEデコードを実行するMIMEエンコードされた...
1行の文字数を指定して、MIMEエンコードを行なうこの記事を読む前にこ...
メールから添付ファイルを削除するメールメッセージに含...
Exwarp MailKitを利用して586件のメールを一気に受信する。Exwarp MailKitを使用...
RFC,MIME,メールメッセージのヘッダーフィールドを取得するExwarp.Net.RFC.RFCMe...
ネスト(入れ子)になったMIMEメッセージを取得するMIMEMessageには、複...
MIMEContentMessageを操作するメールメッセージのコ...
eml形式のメールをインポートする拡張子が\".eml\"のフ...
eml形式でメールを保存するメールメッセージを.e...
メールの送信結果を取得するExwarp MailKit 1.0.3...
SMTP:メールの送信状況を確認するExwarpMailKit1.0.339...
CompoundSmtpClient公開予定まもなく、Exwarp.Net...
Exwarp.Net.Smtp.Extension.dllライブラリトライアウト版公開のお知らせ複数のSMTPクライアン...
メールの添付ファイルを削除するメールメッセージに含...
メールのメッセージソースを取得する。RFCMessage及びその派...
メール受信後にPOP3サーバーからメールを削除するメールの受信後にサー...
【質問】サブミッションポート(port587)とSMTP AUTHを使った送信は行えますか?Exwarp.MailKitに含ま...
【質問】1行の文字数を設定してMIMEエンコードしたメール本文を、Exwarp.Net.Mail.MailMessageオブジェクトを用いて送信できますか?通常、メール本文にMI...
【質問】1件づつメールをサーバより削除する方法はどのようにするのでしょうか?メールをどのタイミン...
【質問】メールの送信時間を指定するにはどうすればよいですか?送信時間を指定するに...
【質問】ExwarpMailKitの携帯端末対応についてExwarpMailKitの携帯...
携帯絵文字付メールを送信するExwarpMailKit1.0.438...
本サイトで公開されるライブラリには著作権があります。
VB.NET/C#/ASP.NETでメール送信・受信ならExwarp MailKit
©exWarp 2006-2013   All Rights Reserved.