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

05
--
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対策もお任せください。
【質問】例えば AUの携帯端末でhtmlにアクセスし formのtextボックスに絵文字入りの文章を入力 その文章をdocomoやsoftbank携帯宛にメールをしたい場合、絵文字の変換は可能ですか?
0
    この機能を実装するためには、HTTPでの絵文字入力(デコード処理)と、絵文字メール送信(エンコード処理)が必要となります。

    残念ながら、現状Exwarp MailKitが対応しているのは絵文字出力(エンコード処理)のみとなりますので、フォームなどから入力された絵文字を識別する機能につきましては、実装することができません。
    PHPでは、mb_substitute_character("long");を利用することで比較的簡単に絵文字コードの抽出が行えます。

    3キャリア向けの絵文字メールを配信する機能につきましては、問題なく実装が可能です。、
    | technicals | 12:29 | - | - | - | ログピに投稿する |
    【質問】SMTP/POP over SSLに対応していますか?
    0
      Exwarp MailKit はSSLやTLS通信には対応しておりません。暗号化通信が必須のアプリケーションには使用できませんので予めご了承くださいませ。
      | information | 00:37 | - | - | - | ログピに投稿する |
      【質問】Access2007から使えますか
      0
        本ライブラリは.Net Framework対応ですのでACCESSなどのマクロから直接呼び出すことはできません。
        しかし、一旦本ライブラリを使用したコンソールアプリケーションを.Net環境で作成しACCESSからシェル経由で呼び出すなどの方法で間接的にご利用いただけます。
        | technicals | 19:14 | - | - | - | ログピに投稿する |
        絵文字付のメールを作成する
        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 | - | - | - | ログピに投稿する |
          【質問】ExwarpMailKitの携帯端末対応について
          0
            ExwarpMailKitの携帯端末対応について:

            ■携帯端末宛のHTMLメールについて
            ExwarpMailKitでは、テキスト形式とHTML形式のメール本文を混在させることが可能ですので、携帯端末にHTML形式の本文でメールを作成することも可能です。
            ただし、HTML形式の本文に関しましては、Content-Transfer-Encodingの値が強制的にQuoted-Printableになる仕様となっておりますので、Base64や7bitでのエンコードを要求するメーラーでは正常に読むことができない可能性もあります。

            ■携帯端末宛の絵文字メールについて
            ExwarpMailkitではメール本文にバイナリコードを挿入する機能はございません。そのため、絵文字などバイナリで入力する必要のある一部キャラクタにつきましては現在のところ未対応となっております。今後の仕様変更で対応可能としてゆく予定ですがリリース次期などは未定です。
            | technicals | 21:32 | - | - | - | ログピに投稿する |
            【質問】送信時間を指定するにはどうすればよいですか?
            0
              送信時間を指定するには、Exwarp.Net.Mail.MailMessageクラスのDateプロパティに日付情報を文字列で設定します。
              [C#]
              mail.Date = "9 Sep 2008 17:00:00 +0900";

              [VB.Net]
              mail.Date = "9 Sep 2008 17:00:00 +0900"

              [解説]
              mailはExwarp.Net.Mail.MailMessageのインスタンスをあらわします。設定値はRFC 1123準拠の文字列型である必要があります。
              +0900でタイムゾーンを設定しない場合GMT(世界標準時)で解釈される場合があります。
              | technicals | 18:56 | - | - | - | ログピに投稿する |
              Exwarp MailKit 1.0.406.*リリースのお知らせ
              0
                ExwarpMailKit1.0.406.*をリリースいたしました。
                主な変更点は次のとおりです。
                ■Exwarp.Net.RFC.MIME.MIMETransform.SafeModeプロパティ(STATICプロパティ)を追加しました。これは一部のSMTPサーバーがメールのリレー時に?=の後ろに強制的にホワイトスペースを追加する仕様に対処するために使用します。上記プロパティをTrueに設定した場合、ASCII文字列も強制的にMIMEエンコードして?= =?が出現しなくなります。
                ■Exwarp.Net.Mail.MailOperations.GetAttachmentsOperationクラスの仕様を一部修正いたしました。
                これは一部のメールエージェントが本文なしのメールを送信してきた場合でも添付ファイルの取得を可能にするためです。本仕様変更により、Content-Typeがmultipart/mixedであり、サブコンテンツにtext/*が含まれない場合でもGetAttachmentsカスタムオペレーションで添付ファイルを取得できるようになります。
                | information | 16:40 | - | - | - | ログピに投稿する |
                【質問】メール受信において稼動状況をログファイルに出力したいのですが、本ライブラリでは可能ですか?
                0
                  現状では、直接ログを出力する機能は本ライブラリに実装されておりませんが、受信ロジックは自由に拡張したり書き換えたりすることができますので、ログを出力するロジックを追加した受信処理を実装することは可能です。
                  カスタム受信のサンプルはこちらに参考にできるコード(C#)を公開しております。
                  | technicals | 18:32 | - | - | - | ログピに投稿する |
                  【質問】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 | - | - | - | ログピに投稿する |