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

08
--
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
31
--
>>
<<
--

メール

主に、メール送受信ライブラリを紹介します。各種ソフトウェア、PHPコンテンツ制作、SEO対策もお任せください。
絵文字付のメールを作成する
0

    ExwarpMailKit1.0.438.*以降のライブラリ+Exwarp.Module.EmojiModuleを利用すると、絵文字を簡単に作成することができます。


    最新版をダウンロードしてください。


    [C#]
    Exwarp.Net.RFC.MIME.MIMETransform.RawEncoding = true; //(0)

    Exwarp.Net.Mail.MailMessage mail = new Exwarp.Net.Mail.MailMessage(System.Text.Encoding.ASCII); //(1)

    Exwarp.Module.ModuleLoader ml = new Exwarp.Module.ModuleLoader(mail); //(2)
    ml.LoadModule("Exwarp.Module.EmojiModule.dll"); //(3)

    mail.To = "mail_to@docomo.ne.jp"; //(4)
    mail.From = "mail_from@myhost.com";

    mail.RunCommand("Emoji_SetSubject","<emoji:1>絵文字メール"); //(5)
    mail.RunCommand("Emoji_SetBody","<emoji:100>絵文字本文"); //(6)

    Exwarp.Net.Smtp.SmtpClient client = new Exwarp.Net.Smtp.SmtpClient("HOST_NAME");
    if(client.Connect())
    {
      client.SendReceive(mail);
      client.Close();
    }

    [VB.NET]
    Exwarp.Net.RFC.MIME.MIMETransform.RawEncoding = True '(0)

    Dim mail As New Exwarp.Net.Mail.MailMessage(System.Text.Encoding.ASCII) '(1)

    Dim ml As New Exwarp.Module.ModuleLoader(mail) '(2)
    ml.LoadModule("Exwarp.Module.EmojiModule.dll") '(3)

    mail.To = "mail_to@docomo.ne.jp" '(4)
    mail.From = "mail_from@myhost.com"

    mail.RunCommand("Emoji_SetSubject","<emoji:1>絵文字メール") '(5)
    mail.RunCommand("Emoji_SetBody","<emoji:100>絵文字本文") '(6)
    Dim client As New Exwarp.Net.Smtp.SmtpClient("HOST_NAME")
    If client.Connect() Then
      client.SendReceive(mail)
      client.Close()
    End If

    [解説]
    (0)Exwarp.Net.RFC.MIME.MIMETransformのRawEncodingプロパティにTrueをセットします。
    これは、1.0.438より前のバージョンでau携帯への絵文字付の件名が表示されないバグに対処するために必要です。

    (1)Exwarp.Net.Mail.MailMessageのインスタンスを作成します。このときのエンコーディングは何でもOKです。

    (2)Exwarp.Module.ModuleLoaderのインスタンスを作成します。このときパラメータにモジュールを追加したいMailMessageインスタンスを渡します。

    (3)LoadModuleメソッドを呼び出して、モジュールをロードします。
    モジュールdllへのパスを表す文字列をセットします。実行ファイルと同じディレクトリにコピーしておくとファイル名だけで済むのでお勧めです。(別にモジュールの位置はどこでも構いません。参照を追加しておく必要もありません。)

    (4)必ず最初にMailMessageToプロパティをセットしておきます。この値を元に絵文字データが変換されます。

    (5)モジュールをロードするとEmoji_SetSubjectカスタムオペレーションが実行できるようになります。通常の文字列の任意の場所に<emoji:***>と記述すると内部でバイナリに自動変換します。(***の部分はdocomoの絵文字番号を入力します。)

    (6)(5)と同じ要領でEmoji_SetBodyカスタムオペレーションを実行します。絵文字の挿入方法は同じです。

    あとは通常のメール送信を行います。特別な操作は必要ありません。


    追加事項

    Emoji_SetSubjectおよびEmoji_SetBodyカスタムオペレーションに2番目の引数をセットすることができます。これは任意の絵文字変換テーブルファイルへのパスを表す文字列です。
    mail.RunCommand("Emoji_SetBody","<emoji:1>","MyEmojiTable.txt")

    上の様に記述すると、デフォルトの変換テーブルではなく、自由にカスタマイズした変換テーブルを使って絵文字の変換が行われます。
    デフォルトの変換テーブルは、こちらからダウンロードできます。
    絵文字コードは必ず半角大文字の英数4桁タブ区切りで記述します。
    docomo,softbankは必ずShift-JISバイナリ用コード、auはEメール送出用JISコードに対応したShift-JISコードを記述します。
    176以上の番号を設定することも可能ですが、上限は999です。


    注意事項

    メールの宛先はひとつに限定するか、同じキャリアのメールアドレスを設定してください。
    絵文字によっては表示されないものがあります。これはdocomoの絵文字番号を元にほかのキャリアの絵文字の中からよく似た絵文字に変換しているためで、該当する絵文字が存在しない番号は欠番となります。
    | technicals | 17:34 | - | - | - | - |
    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 | - | - | - | - |
        Exwarp MailKit 1.0.300.2 及び Pop3Console リリースのお知らせ
        0

          Exwarp MailKit 1.0.300.2がリリースされました。http://exwarp.comからダウンロードできます。

          Exwarp Mailkit 1.0.291.0 のバグを修正し、微細な仕様変更が加えられています。同時に公開された Pop3Consoleを動作させるためには、この最新バージョンが必要となります。

          Pop3Consoleは、Pop3プロトコルを手軽に操作できる、フリーソフトです。POP3リクエストに対する応答を確認できます。

          RETR,TOPコマンド送信時には、メール本文の確認や、添付ファイルの保存も行なうことができます。こちらからダウンロードしてご使用ください。

          | information | 16:30 | comments(1604) | trackbacks(0) | - | - |
          バグ報告:POP3のRETRコマンドに対するエラー応答でフリーズ状態になる。
          0

            詳細まれにPOP3のRETRコマンドに対するホストからの応答が、メッセージを取得できないというエラーで返される場合がありますが、このエラーステータスが正しく取得できていなかったため、POP3クライアントが無限ループに陥ります。


            確認された日付2006/7/4


            アセンブリ名Exwarp.Net.Pop3.dll


            バージョン1.0.291.0


            種類バグ


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


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


            補足情報1.0.291.0より後のバージョンのReceiveAllMessageカスタムオペレーションに、メールメッセージ受信時に発生したエラーのログを記録するロジックを追加しました。Pop3Client.GetProperty("Errors")を呼び出すことで,エラーが発生したメールのメッセージ番号、UID、エラーメッセージを確認できます。

            | technicals | 15:02 | comments(1893) | trackbacks(0) | - | - |
            バグ報告:TOPコマンドがマルチパートのメッセージで失敗する。
            0

              詳細TOPコマンドでメッセージのヘッダーのみを受信する際、multipartメディアタイプ型のメッセージの受信に失敗します。これはボディサイズが0であるにもかかわらずBounary(行区切)を検索する処理が誤って実行されるために発生する現象です。


              確認された日付2006/6/27


              アセンブリ名Exwarp.Net.RFC.MIME.dll


              バージョン1.0.291.0


              種類バグ


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


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

              | technicals | 18:45 | comments(1663) | trackbacks(0) | - | - |
              バグ報告:POP3の例外が正常に発生しない
              0

                詳細POP3サーバーから -ERR で始まる否定応答が返された場合に発生するはずのPop3Exceptionが正常に発生しない。


                確認された日付2006/6/26


                アセンブリ名Exwarp.Net.Pop3.dll


                バージョン1.0.291.0


                種類バグ


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


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

                | technicals | 16:30 | comments(1642) | trackbacks(0) | - | - |
                バグ報告:GetForwardingカスタムオペレーションが正しく動作しない。
                0

                  詳細Exwarp.Net.Mail.MailOperations.GetForwardingカスタムオペレーションを実行する際、 Exwarp.Net.Mail.MailContextオブジェクトのQuoteOriginalMessageプロパティがfalseの場合、nullを返してしまう。


                  確認された日付2006/6/10


                  アセンブリ名Exwarp.Net.Mail.dll


                  バージョン1.0.291.0


                  種類バグ


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


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

                  | technicals | 11:29 | comments(1670) | trackbacks(0) | - | - |
                  バグ報告:ボディが未定義のメールメッセージに添付メッセージを追加すると発生する例外が正常に発生しない
                  0

                    詳細ボディが未定義のメールメッセージに対して添付メッセージの追加及び削除の処理を行うと 通常ボディが未定義であることを示す例外が発生するが、エラーコードの誤った指定のためリソースが見つからないというエラーが代わりに発生する。


                    確認された日付2006/5/23


                    アセンブリ名Exwarp.Net.Mail.dll,Exwarp.Net.Mail.resources.dll


                    バージョン1.0.291.0


                    種類バグ


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


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

                    | technicals | 11:19 | comments(1846) | trackbacks(0) | - | - |
                    メールに添付ファイルを追加する
                    0

                      メールに添付ファイルを追加する方法を紹介します。

                      メールの添付には2つのステップが必要です。まず(1)添付メッセージの作成、次に(2)添付メッセージの追加です。具体的なコードは次のようになります。

                      [C#]
                      Exwarp.Net.Mail.MailMessage mail =
                          new Exwarp.Net.Mail.MailMessage(System.Text.Encoding.GetEncoding("iso-2022-jp"));

                      mail.RunCommand("AddTo","MyFriend","myfriend@friend.com");
                      mail.Subject = "添付メールサンプル";
                      mail.From = "me@me.com";
                      mail.Body = "本文です";

                      object o = mail.RunCommand("CreateAttachment","c:¥¥myimg.jpg");
                      mail.RunCommand("AddAttachment",o);

                      [VB.Net]
                      Dim msg As New Exwarp.Net.Mail.MailMessage(System.Text.Encoding.GetEncoding("iso-2022-jp"))

                      mail.RunCommand("AddTo","MyFriend","myfriend@friend.com")
                      mail.Subject = "添付メールサンプル"
                      mail.From = "me@me.com"
                      mail.Body = "本文です"

                      Dim o As Object = mail.RunCommand("CreateAttachment","c:¥myimg.jpg")
                      mail.RunCommand("AddAttachment",o)
                      [解説]

                      メールメッセージの新しいインスタンスを作成します。この部分の解説はこちらをご覧ください。

                      メールメッセージに追加する添付メッセージを作成します。MailMessageクラスに定義されているCreateAttachmentカスタムオペレーションを実行します。このカスタムオペレーションは添付ファイルのパスを表す文字列をパラメータとして受け取ります。戻り値として添付ファイルをカプセル化したExwarp.Net.RFC.MIME.MIMEContentMessageオブジェクトが返されます。(カスタムオペレーションは常に戻り値をObject型で返します)

                      次に生成された添付メッセージをメールメッセージに追加します。これはAddAttachmentカスタムオペレーションを呼び出すことで簡単に行なえます。AddAttachmentカスタムオペレーションは添付ファイルをカプセル化したExwarp.Net.RFC.MIME.MIMEContentMessageオブジェクトをパラメータとして受け取ります。(上記サンプルの場合o)戻り値は返しません。

                      ボディを設定しないで添付メッセージを追加しようとすると例外が発生します。これは添付ファイルのみのメールメッセージは作成できないという仕様上の制限です。そのため本文は必ず設定してください。長さ0の文字列(System.String.Empty)でも構いません。

                      上記の例外を発生させる部分でバグが確認されました。(アセンブリ:Exwarp.Net.Mail.dll,バージョン:1.0.291.0)エラーコードが間違って指定されていたため、リソースが見つからないというエラーメッセージが表示されます。次期バージョンにて修正済みです。


                      これで添付ファイルが追加されました。今回のサンプルの結果mailオブジェクトのMessageSourceプロパティには下のようなバイト列が生成されます。(*****部分は削除してあります。)

                      To: MyFriend<myfriend@friend.com>
                      Subject: =?iso-2022-jp?B?GyRCRTpJVSVhITwlayU1JXMlVyVrGyhC?=
                      From: me@me.com
                      MIME-Version: 1.0
                      Message-ID: <20060523185922_32ddb412@*****>
                      Content-Type: multipart/mixed;
                       boundary="__NEXTPART_20060523_77DBB3AE_A728AA9"

                      This is a multipart message in MIME format.

                      --__NEXTPART_20060523_77DBB3AE_A728AA9
                      Content-Type: text/plain; charset=iso-2022-jp
                      Content-Transfer-Encoding: 7bit

                      ・$BK¥J8$G$9・(B
                      --__NEXTPART_20060523_77DBB3AE_A728AA9
                      Content-Type: image/jpeg; name="myimg.jpg"
                      Content-Disposition: attachment; filename="myimg.jpg"
                      Content-Transfer-Encoding: base64

                      /9j/4AAQSkZJRgABAgAAZABkAAD//gASQWRvYmUgSW1hZ2VSZWFkef/sABFE
                      *****
                      jan8/wCCEISjPsUQ+SlNtRZ9LoQg5oGR4qPp/wAkqd0IQl7vcv/Z

                      --__NEXTPART_20060523_77DBB3AE_A728AA9--
                      | technicals | 18:32 | comments(1758) | trackbacks(0) | - | - |
                      exwarp のご紹介
                      0
                        exwarp β1が公開されました。
                        全ての機能が試用できます。
                        同時にバグレポート歓迎します。バグレポートに参加してくださった方にキャッシュバックの特典もあります。
                        詳しくは、 バグレポートキャンペーンページ をご覧ください。

                        これから exwarp の使い方を公開してゆきます。是非参考になさってみてください。
                        | information | 12:23 | comments(1878) | trackbacks(0) | - | - |