2008.03.04 Tuesday
【質問】メール受信において稼動状況をログファイルに出力したいのですが、本ライブラリでは可能ですか?
現状では、直接ログを出力する機能は本ライブラリに実装されておりませんが、受信ロジックは自由に拡張したり書き換えたりすることができますので、ログを出力するロジックを追加した受信処理を実装することは可能です。
カスタム受信のサンプルは
こちらに参考にできるコード(C#)を公開しております。
2008.02.16 Saturday
【質問】1件づつメールをサーバより削除する方法はどのようにするのでしょうか?
メールをどのタイミングで削除するのかにより、手順が異なりますが以下の2通りの場面について解説いたします。
■メールの受信と同時にメールをサーバーから削除する
この場合、Exwarp.Net.Pop3.Pop3ClientオブジェクトのReceiveAllMessages()メソッドを実行する際のパラメータ値にtrueを指定することで、メールの受信と同時に削除を実行できます。
詳しくは
こちらの記事を参照ください。
■メールの受信とは別にサーバーからメールを削除する
この場合、
こちらにカスタムオペレーションのソースコードを公開しておりますので、ご参考になってください。
本カスタムオペレーションを実行すると、メールサーバーからすべてのメールを1件ずつ削除することができます。削除するメールを判別しながら削除するなどの処理を実行したい場合は、ソースコードに必要な条件式を入力していただくことで対応可能です。
2008.01.27 Sunday
【質問】1行の文字数を設定してMIMEエンコードしたメール本文を、Exwarp.Net.Mail.MailMessageオブジェクトを用いて送信できますか?
通常、メール本文にMIMEエンコードを行うことはありません。
メール本文は、Content-Typeヘッダーフィールドにcharsetが指定されている場合、その文字セットでエンコードされたバイト列で記述されます。
例外として、charsetで指定されている文字セットが8ビットエンコーディングの場合には、base64やquoted-printableという方法で7ビット化したバイト列を記述します。
ExwarpMailKitには現在のところ、本文の1行の文字列を調整する機能は実装しておりません。ただし、前述のbase64については、76文字を超えないように自動的に調整されます。
2007.10.24 Wednesday
【質問】特定の「件名」のメッセージだけを取得するには?
特定の件名が含まれるメッセージを受信するには、カスタム受信処理を行う必要があります。
下記の要領でカスタム受信を行います。
■POP3ホストへ接続
■ログイン認証
■STATコマンドの送信とメール件数の取得
◇すべてのメールに対して次の処理を繰り返す。
■TOPコマンドを使用してそれぞれのメールのヘッダーを取得
■受信したいSubjectの場合は、RETRコマンドを使用してメールメッセージの取得
■必要ならDELEコマンドを使用して受信メールの削除
◇繰り返し終わり
■QUITコマンドを送信してログオフ
カスタム受信のサンプルは
こちらを参照してください。
2007.10.24 Wednesday
【質問】メールサーバーから受信メールを取得した際、ウイルスメールなどの対策は?
ExwarpMailKitを使用してメールを受信する際のウイルスメール対策などは特に用意されていません。
メールメッセージは、通常単なる7ビットのテキストとして受信されますので、受信処理だけでウイルスに感染することはありませんが、バイナリファイルに展開するなどの処理が実行される場合には、問題が発生する可能性があります。
それで、ウイルスメールの可能性があると思われるメールについては、以下の処理を避けるなどしてウイルスメール対策を講じることが出来ます。
■mail.RunCommand("SaveBinariBody",PATH)の使用
■mail.BinaryBodyプロパティの参照
上記、2点に共通して実行される処理は、BinaryBodyプロパティが参照されることです。
BinaryBodyプロパティを参照すると7ビットのテキストから8ビットのバイナリデータに変換されるため、メモリ上にプログラムの実体が展開されます。この場合、ウイルスプログラムが実行される可能性があります。
BinaryBodyプロパティが参照されるまでは、7ビットのテキストのままですので問題はありません。
2007.10.18 Thursday
【質問】サブミッションポート(port587)とSMTP AUTHを使った送信は行えますか?
Exwarp.MailKitに含まれるExwarp.Net.Smtpライブラリでは、送信ホストのポート番号を任意に変更することが出来ます。587番ポートを使用して送信するには、
[C#]
Exwarp.Net.Smtp.SmtpClient smtp = new Exwarp.Net.Smtp.SmtpClient(HOST_NAME,587);
[VB.Net]
Dim smtp As New Exwarp.Net.Smtp.SmtpClient(HOST_NAME,587)
のようにコンストラクタの2番目のパラメータに接続したいホストのポート番号を指定します。
SMTP_AUTHにつきましても、PLAIN,LOGIN,CRAM-MD5に対応しております。
ただし、TLSやSSLを利用した暗号化通信には対応しておりませんのでご注意ください。
2007.09.02 Sunday
ExwarpMailKit1.0.359.*リリースのお知らせ
Exwarp MailKit 1.0.359.*をリリースいたしました。本バージョンには以下の変更点があります。
■非同期スレッドで発生した例外がメインスレッドで補足できないバグを修正。
■Return-PathにFromで設定した値が強制的に適用される仕様を変更。Return-PathとFromヘッダーフィールドに異なるメールアドレスを指定できます。
■HideBccプロパティの追加。SMTPホストへのBCCヘッダーフィールドの送信を制限します。
製品版を購入いただいておりますユーザー様は無料でバージョンアップできます。
2007.09.02 Sunday
【解決】バグ報告:非同期スレッドで発生する例外がキャッチできない。
詳細非同期スレッド(Exwarp.Net.AbstractNetClientクラス内のコールバック関数)内で発生する例外がメインスレッドに引き渡されないために、メインスレッドでエラーをキャッチできずにアプリケーションが強制終了してしまいします。
確認された日付2007/8/24
アセンブリ名Exwarp.Net.dll
バージョン1.0.352.*以前のすべてのライブラリ
種類バグ
状態次期バージョンにて修正済み
対処1.0.359.*以降のバージョンにバージョンアップしてください。
2007.08.25 Saturday
【質問】SMTPでデータ受信が行なえますか?
SMTPは、メール送信のためのプロトコルですので、「データ受信」が「メール受信」という意味でしたら、POP3プロトコルを使用する必要があります。
Exwarp MailKitにはPOP3クライアントも含まれておりますので、こちらを利用してメール受信プログラムは簡単に実装できます。
Exwarp MailKitには、SMTPクライアントも含まれておりますが、あくまでSMTPプロトコルの枠内でのデータ受信となりますので、独自のメッセージを送受信することは出来ません。
2007.08.25 Saturday
【質問】購入した際に使い方及びサンプルはありますか?
お客様から最も問い合わせの多い質問が「購入した製品版には添付ドキュメントがありますか?」です。
大変申し訳ござえいませんが、現状では添付ドキュメントなどは準備いたしておりません。
その代わりに、お客様からの直接のご質問にサンプルコードなどを提示しつつお答えさせていただいております。
また、本ブログ上でもお客様からのご質問があった内容をサンプルコードを交えて随時投稿しております。
お客様には大変ご不便とご迷惑をおかけしておりますが、ご理解いただきますようよろしくお願い申し上げます。