RECOMMEND
C# 言語リファレンス Black Book
C# 言語リファレンス Black Book (JUGEMレビュー »)
ビル ワグナー, Bill Wagner, スリーエーシステムズ, アクロバイト
RECOMMEND
RECOMMEND
SELECTED ENTRIES
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS

04
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--

メール

主に、メール送受信ライブラリを紹介します。各種ソフトウェア、PHPコンテンツ制作、SEO対策もお任せください。
【質問】1件づつメールをサーバより削除する方法はどのようにするのでしょうか?
0
    メールをどのタイミングで削除するのかにより、手順が異なりますが以下の2通りの場面について解説いたします。

    ■メールの受信と同時にメールをサーバーから削除する
    この場合、Exwarp.Net.Pop3.Pop3ClientオブジェクトのReceiveAllMessages()メソッドを実行する際のパラメータ値にtrueを指定することで、メールの受信と同時に削除を実行できます。
    詳しくはこちらの記事を参照ください。

    ■メールの受信とは別にサーバーからメールを削除する
    この場合、こちらにカスタムオペレーションのソースコードを公開しておりますので、ご参考になってください。
    本カスタムオペレーションを実行すると、メールサーバーからすべてのメールを1件ずつ削除することができます。削除するメールを判別しながら削除するなどの処理を実行したい場合は、ソースコードに必要な条件式を入力していただくことで対応可能です。
    | technicals | 17:03 | - | - | - | - |
    【質問】1行の文字数を設定してMIMEエンコードしたメール本文を、Exwarp.Net.Mail.MailMessageオブジェクトを用いて送信できますか?
    0
      通常、メール本文にMIMEエンコードを行うことはありません。
      メール本文は、Content-Typeヘッダーフィールドにcharsetが指定されている場合、その文字セットでエンコードされたバイト列で記述されます。
      例外として、charsetで指定されている文字セットが8ビットエンコーディングの場合には、base64やquoted-printableという方法で7ビット化したバイト列を記述します。
      ExwarpMailKitには現在のところ、本文の1行の文字列を調整する機能は実装しておりません。ただし、前述のbase64については、76文字を超えないように自動的に調整されます。
      | technicals | 14:05 | - | - | - | - |
      【質問】特定の「件名」のメッセージだけを取得するには?
      0
        特定の件名が含まれるメッセージを受信するには、カスタム受信処理を行う必要があります。
        下記の要領でカスタム受信を行います。

        ■POP3ホストへ接続
        ■ログイン認証
        ■STATコマンドの送信とメール件数の取得

        ◇すべてのメールに対して次の処理を繰り返す。
        ■TOPコマンドを使用してそれぞれのメールのヘッダーを取得
        ■受信したいSubjectの場合は、RETRコマンドを使用してメールメッセージの取得
        ■必要ならDELEコマンドを使用して受信メールの削除
        ◇繰り返し終わり

        ■QUITコマンドを送信してログオフ

        カスタム受信のサンプルはこちらを参照してください。
        | technicals | 12:34 | - | - | - | - |
        【質問】メールサーバーから受信メールを取得した際、ウイルスメールなどの対策は?
        0
          ExwarpMailKitを使用してメールを受信する際のウイルスメール対策などは特に用意されていません。

          メールメッセージは、通常単なる7ビットのテキストとして受信されますので、受信処理だけでウイルスに感染することはありませんが、バイナリファイルに展開するなどの処理が実行される場合には、問題が発生する可能性があります。

          それで、ウイルスメールの可能性があると思われるメールについては、以下の処理を避けるなどしてウイルスメール対策を講じることが出来ます。

          ■mail.RunCommand("SaveBinariBody",PATH)の使用
          ■mail.BinaryBodyプロパティの参照

          上記、2点に共通して実行される処理は、BinaryBodyプロパティが参照されることです。
          BinaryBodyプロパティを参照すると7ビットのテキストから8ビットのバイナリデータに変換されるため、メモリ上にプログラムの実体が展開されます。この場合、ウイルスプログラムが実行される可能性があります。

          BinaryBodyプロパティが参照されるまでは、7ビットのテキストのままですので問題はありません。
          | technicals | 12:27 | - | - | - | - |
          【質問】サブミッションポート(port587)とSMTP AUTHを使った送信は行えますか?
          0
            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を利用した暗号化通信には対応しておりませんのでご注意ください。
            | information | 10:14 | - | - | - | - |
            ExwarpMailKit1.0.359.*リリースのお知らせ
            0
              Exwarp MailKit 1.0.359.*をリリースいたしました。本バージョンには以下の変更点があります。

              ■非同期スレッドで発生した例外がメインスレッドで補足できないバグを修正。

              ■Return-PathにFromで設定した値が強制的に適用される仕様を変更。Return-PathとFromヘッダーフィールドに異なるメールアドレスを指定できます。

              ■HideBccプロパティの追加。SMTPホストへのBCCヘッダーフィールドの送信を制限します。

              製品版を購入いただいておりますユーザー様は無料でバージョンアップできます。
              | information | 16:27 | - | - | - | - |
              【解決】バグ報告:非同期スレッドで発生する例外がキャッチできない。
              0

                詳細非同期スレッド(Exwarp.Net.AbstractNetClientクラス内のコールバック関数)内で発生する例外がメインスレッドに引き渡されないために、メインスレッドでエラーをキャッチできずにアプリケーションが強制終了してしまいします。


                確認された日付2007/8/24


                アセンブリ名Exwarp.Net.dll


                バージョン1.0.352.*以前のすべてのライブラリ


                種類バグ


                状態次期バージョンにて修正済み


                対処1.0.359.*以降のバージョンにバージョンアップしてください。

                | technicals | 16:23 | - | - | - | - |
                【質問】SMTPでデータ受信が行なえますか?
                0
                  SMTPは、メール送信のためのプロトコルですので、「データ受信」が「メール受信」という意味でしたら、POP3プロトコルを使用する必要があります。
                  Exwarp MailKitにはPOP3クライアントも含まれておりますので、こちらを利用してメール受信プログラムは簡単に実装できます。

                  Exwarp MailKitには、SMTPクライアントも含まれておりますが、あくまでSMTPプロトコルの枠内でのデータ受信となりますので、独自のメッセージを送受信することは出来ません。
                  | technicals | 22:49 | - | - | - | - |
                  【質問】購入した際に使い方及びサンプルはありますか?
                  0
                    お客様から最も問い合わせの多い質問が「購入した製品版には添付ドキュメントがありますか?」です。

                    大変申し訳ござえいませんが、現状では添付ドキュメントなどは準備いたしておりません。
                    その代わりに、お客様からの直接のご質問にサンプルコードなどを提示しつつお答えさせていただいております。
                    また、本ブログ上でもお客様からのご質問があった内容をサンプルコードを交えて随時投稿しております。
                    お客様には大変ご不便とご迷惑をおかけしておりますが、ご理解いただきますようよろしくお願い申し上げます。
                    | technicals | 22:45 | - | - | - | - |
                    メールの受信後にサーバーから削除する
                    0
                      メールの受信後にサーバーからメールを削除したい場合は,ReceiveAllMessages()メソッドに削除パラメータをわたす方法が最も簡単です。
                      【注意!】削除したメールは二度と元に戻りませんのでご注意ください。
                      [VB.NET]
                      client.Connect()
                      client.ReceiveAllMessages(True)
                      client.Close()

                      または、
                      client.Connect()
                      client.DeleteAfterReceive = True
                      client.ReceiveAllMessages()
                      client.Close()

                      ちなみに、RunCommand()メソッドを利用する場合は、次のようになります。
                      client.Connect()
                      client.DeleteAfterReceive = True
                      client.RunCommand("ReceiveAllMessages")
                      client.Close()
                      解説
                      clientは初期化済みのExwarp.Net.Pop3.Pop3Clientインスタンスを表します。

                      Exwarp.Net.Pop3.Pop3Client.ReceiveAllMessages()メソッドは、パラメータを1つ受け取ることができます。
                      このパラメータは、メールの受信後に受信したメールをサーバーから削除するかどうかのフラグを表し、
                      内部的には、Pop3Clinet.DeleteAfterReceiveプロパティの値を更新してから受信を実行します。

                      trueをセットすると、受信後にPOP3サーバーからメールを削除する処理が自動的に実行されます。デフォルトはfalseです。
                      ReceiveAllMessages()メソッドは、RunCommand("ReceiveAllMessage")のラッパーメソッドとして実装しているため、どちらの方法を採用しても動作に違いはありません。
                      | technicals | 17:44 | - | - | - | - |