<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<feed version="0.3" xml:lang="ja" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <title>メール</title>
    <link href="http://exwarp.com/" rel="alternate" type="text/html" />
    <modified>2009-03-02T15:09:06+09:00</modified>
    <tagline></tagline>
    <generator url="http://exwarp.com/"></generator>
    <entry>
        <title>携帯絵文字付メールを送信する</title>
        <link href="http://exwarp.com/?id=151" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=151</id>
        <issued>2009-03-02T15:09:06+09:00</issued>
        <modified>2009-03-02T15:09:06Z</modified>
        <created>2009-03-02T15:09:06Z</created>
        <summary>携帯絵文字付メールを送信する</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					<p><strong>ExwarpMailKit1.0.438.*</strong>以降のライブラリ＋<strong>Exwarp.Module.EmojiModule</strong>を利用すると、絵文字を簡単に作成することができます。</p>
<p>最新版をダウンロードしてください。</p>
<div class="code">[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","&lt;emoji:1&gt;絵文字メール"); //(5)
mail.RunCommand("Emoji_SetBody","&lt;emoji:100&gt;絵文字本文"); //(6)

Exwarp.Net.Smtp.SmtpClient client = new Exwarp.Net.Smtp.SmtpClient("HOST_NAME");
if(client.Connect())
{
&nbsp;&nbsp;client.SendReceive(mail);
&nbsp;&nbsp;client.Close();
}</div>
<div class="code">[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","&lt;emoji:1&gt;絵文字メール") '(5)
mail.RunCommand("Emoji_SetBody","&lt;emoji:100&gt;絵文字本文") '(6)
Dim client As New Exwarp.Net.Smtp.SmtpClient("HOST_NAME")
If client.Connect() Then
&nbsp;&nbsp;client.SendReceive(mail)
&nbsp;&nbsp;client.Close()
End If</div>
[解説]
(0)<strong>Exwarp.Net.RFC.MIME.MIMETransform</strong>のRawEncodingプロパティにTrueをセットします。
これは、1.0.438より前のバージョンでau携帯への絵文字付の件名が表示されないバグに対処するために必要です。

(1)<strong>Exwarp.Net.Mail.MailMessage</strong>のインスタンスを作成します。このときのエンコーディングは何でもOKです。

(2)<strong>Exwarp.Module.ModuleLoader</strong>のインスタンスを作成します。このときパラメータにモジュールを追加したい<strong>MailMessage</strong>インスタンスを渡します。

(3)<strong>LoadModule</strong>メソッドを呼び出して、モジュールをロードします。
モジュールdllへのパスを表す文字列をセットします。実行ファイルと同じディレクトリにコピーしておくとファイル名だけで済むのでお勧めです。（別にモジュールの位置はどこでも構いません。参照を追加しておく必要もありません。）

(4)必ず最初に<strong>MailMessage</strong>の<strong>To</strong>プロパティをセットしておきます。この値を元に絵文字データが変換されます。

(5)モジュールをロードすると<strong>Emoji_SetSubject</strong>カスタムオペレーションが実行できるようになります。通常の文字列の任意の場所に<strong>&lt;emoji:***&gt;</strong>と記述すると内部でバイナリに自動変換します。（<strong>***</strong>の部分は<a href="http://www.nttdocomo.co.jp/service/imode/make/content/pictograph/basic/index.html">docomoの絵文字番号</a>を入力します。）

(6)<strong>(5)</strong>と同じ要領で<strong>Emoji_SetBody</strong>カスタムオペレーションを実行します。絵文字の挿入方法は同じです。

あとは通常のメール送信を行います。特別な操作は必要ありません。
<hr >
<strong>追加事項</strong>

<strong>Emoji_SetSubject</strong>および<strong>Emoji_SetBody</strong>カスタムオペレーションに2番目の引数をセットすることができます。これは任意の絵文字変換テーブルファイルへのパスを表す文字列です。
<div class="code">mail.RunCommand("Emoji_SetBody","&lt;emoji:1&gt;","MyEmojiTable.txt")</div>
上の様に記述すると、デフォルトの変換テーブルではなく、自由にカスタマイズした変換テーブルを使って絵文字の変換が行われます。
デフォルトの変換テーブルは、<a href="http://exwarp.com/products/exwarp/module/emojimodule/EmojiTable.txt">こちら</a>からダウンロードできます。
絵文字コードは必ず<strong>半角大文字の英数4桁</strong>の<strong>タブ区切り</strong>で記述します。
docomo,softbankは必ず<strong>Shift-JISバイナリ用コード</strong>、auは<strong>Eメール送出用JISコードに対応したShift-JISコード</strong>を記述します。
176以上の番号を設定することも可能ですが、上限は999です。
<hr />
<strong>注意事項</strong>

メールの宛先はひとつに限定するか、同じキャリアのメールアドレスを設定してください。
絵文字によっては表示されないものがあります。これはdocomoの絵文字番号を元にほかのキャリアの絵文字の中からよく似た絵文字に変換しているためで、該当する絵文字が存在しない番号は欠番となります。

					]]>        
				</content>
    </entry>    <entry>
        <title>【質問】ExwarpMailKitの携帯端末対応について</title>
        <link href="http://exwarp.com/?id=149" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=149</id>
        <issued>2008-09-09T21:33:48+09:00</issued>
        <modified>2008-09-09T21:33:48Z</modified>
        <created>2008-09-09T21:33:48Z</created>
        <summary>【質問】ExwarpMailKitの携帯端末対応について</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					ExwarpMailKitの携帯端末対応について：

■携帯端末宛のHTMLメールについて
ExwarpMailKitでは、テキスト形式とHTML形式のメール本文を混在させることが可能ですので、携帯端末にHTML形式の本文でメールを作成することも可能です。
ただし、HTML形式の本文に関しましては、Content-Transfer-Encodingの値が強制的にQuoted-Printableになる仕様となっておりますので、Base64や7bitでのエンコードを要求するメーラーでは正常に読むことができない可能性もあります。

■携帯端末宛の絵文字メールについて
ExwarpMailkitではメール本文にバイナリコードを挿入する機能はございません。そのため、絵文字などバイナリで入力する必要のある一部キャラクタにつきましては現在のところ未対応となっております。今後の仕様変更で対応可能としてゆく予定ですがリリース次期などは未定です。
					]]>        
				</content>
    </entry>    <entry>
        <title>【質問】メールの送信時間を指定するにはどうすればよいですか？</title>
        <link href="http://exwarp.com/?id=148" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=148</id>
        <issued>2008-09-09T19:00:57+09:00</issued>
        <modified>2008-09-09T19:00:57Z</modified>
        <created>2008-09-09T19:00:57Z</created>
        <summary>【質問】メールの送信時間を指定するにはどうすればよいですか？</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					送信時間を指定するには、Exwarp.Net.Mail.MailMessageクラスのDateプロパティに日付情報を文字列で設定します。
<div class="code">[C#]
mail.Date = "9 Sep 2008 17:00:00 +0900";
</div>
<div class="code">[VB.Net]
mail.Date = "9 Sep 2008 17:00:00 +0900"
</div>
[解説]
<strong>mail</strong>はExwarp.Net.Mail.MailMessageのインスタンスをあらわします。設定値は<strong>RFC 1123</strong>準拠の文字列型である必要があります。
<strong>+0900</strong>でタイムゾーンを設定しない場合<strong>GMT</strong>（世界標準時）で解釈される場合があります。
					]]>        
				</content>
    </entry>    <entry>
        <title>Exwarp MailKit 1.0.406.*リリースのお知らせ</title>
        <link href="http://exwarp.com/?id=146" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=146</id>
        <issued>2008-07-21T16:38:02+09:00</issued>
        <modified>2008-07-21T16:38:02Z</modified>
        <created>2008-07-21T16:38:02Z</created>
        <summary>Exwarp MailKit 1.0.406.*リリースのお知らせ</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					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カスタムオペレーションで添付ファイルを取得できるようになります。
					]]>        
				</content>
    </entry>    <entry>
        <title>【質問】１件づつメールをサーバより削除する方法はどのようにするのでしょうか？</title>
        <link href="http://exwarp.com/?id=145" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=145</id>
        <issued>2008-02-16T17:08:05+09:00</issued>
        <modified>2008-02-16T17:08:05Z</modified>
        <created>2008-02-16T17:08:05Z</created>
        <summary>【質問】１件づつメールをサーバより削除する方法はどのようにするのでしょうか？</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					メールをどのタイミングで削除するのかにより、手順が異なりますが以下の２通りの場面について解説いたします。

■メールの受信と同時にメールをサーバーから削除する
この場合、Exwarp.Net.Pop3.Pop3ClientオブジェクトのReceiveAllMessages()メソッドを実行する際のパラメータ値にtrueを指定することで、メールの受信と同時に削除を実行できます。
詳しくは<a href="http://blog.exwarp.com/?eid=492440">こちら</a>の記事を参照ください。

■メールの受信とは別にサーバーからメールを削除する
この場合、<a href="http://exwarp.com/member/useroperations.html">こちら</a>にカスタムオペレーションのソースコードを公開しておりますので、ご参考になってください。
本カスタムオペレーションを実行すると、メールサーバーからすべてのメールを1件ずつ削除することができます。削除するメールを判別しながら削除するなどの処理を実行したい場合は、ソースコードに必要な条件式を入力していただくことで対応可能です。
					]]>        
				</content>
    </entry>    <entry>
        <title>【質問】1行の文字数を設定してMIMEエンコードしたメール本文を、Exwarp.Net.Mail.MailMessageオブジェクトを用いて送信できますか？</title>
        <link href="http://exwarp.com/?id=144" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=144</id>
        <issued>2008-01-27T14:07:01+09:00</issued>
        <modified>2008-01-27T14:07:01Z</modified>
        <created>2008-01-27T14:07:01Z</created>
        <summary>【質問】1行の文字数を設定してMIMEエンコードしたメール本文を、Exwarp.Net.Mail.MailMessageオブジェクトを用いて送信できますか？</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					通常、メール本文にMIMEエンコードを行うことはありません。
メール本文は、Content-Typeヘッダーフィールドにcharsetが指定されている場合、その文字セットでエンコードされたバイト列で記述されます。
例外として、charsetで指定されている文字セットが8ビットエンコーディングの場合には、base64やquoted-printableという方法で7ビット化したバイト列を記述します。
ExwarpMailKitには現在のところ、本文の1行の文字列を調整する機能は実装しておりません。ただし、前述のbase64については、76文字を超えないように自動的に調整されます。
					]]>        
				</content>
    </entry>    <entry>
        <title>【質問】サブミッションポート（port587）とSMTP AUTHを使った送信は行えますか？</title>
        <link href="http://exwarp.com/?id=143" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=143</id>
        <issued>2007-10-18T10:14:59+09:00</issued>
        <modified>2007-10-18T10:14:59Z</modified>
        <created>2007-10-18T10:14:59Z</created>
        <summary>【質問】サブミッションポート（port587）とSMTP AUTHを使った送信は行えますか？</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					Exwarp.MailKitに含まれるExwarp.Net.Smtpライブラリでは、送信ホストのポート番号を任意に変更することが出来ます。587番ポートを使用して送信するには、

<div class="code">[C#]
Exwarp.Net.Smtp.SmtpClient smtp = new Exwarp.Net.Smtp.SmtpClient(HOST_NAME,587);
</div>
<div class="code">[VB.Net]
Dim smtp As New Exwarp.Net.Smtp.SmtpClient(HOST_NAME,587)</div>

のようにコンストラクタの２番目のパラメータに接続したいホストのポート番号を指定します。
SMTP_AUTHにつきましても、PLAIN,LOGIN,CRAM-MD5に対応しております。
ただし、TLSやSSLを利用した暗号化通信には対応しておりませんのでご注意ください。
					]]>        
				</content>
    </entry>    <entry>
        <title>ExwarpMailKit1.0.359.*リリースのお知らせ</title>
        <link href="http://exwarp.com/?id=142" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=142</id>
        <issued>2007-09-02T16:28:32+09:00</issued>
        <modified>2007-09-02T16:28:32Z</modified>
        <created>2007-09-02T16:28:32Z</created>
        <summary>ExwarpMailKit1.0.359.*リリースのお知らせ</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					<b>Exwarp MailKit 1.0.359.*</b>をリリースいたしました。本バージョンには以下の変更点があります。<br>
■非同期スレッドで発生した例外がメインスレッドで補足できないバグを修正。<br/>
■Return-PathにFromで設定した値が強制的に適用される仕様を変更。Return-PathとFromヘッダーフィールドに異なるメールアドレスを指定できます。</br>
■HideBccプロパティの追加。SMTPホストへのBCCヘッダーフィールドの送信を制限します。<br/>
製品版を購入いただいておりますユーザー様
					]]>        
				</content>
    </entry>    <entry>
        <title>メール受信後にPOP3サーバーからメールを削除する</title>
        <link href="http://exwarp.com/?id=141" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=141</id>
        <issued>2007-07-31T17:53:51+09:00</issued>
        <modified>2007-07-31T17:53:51Z</modified>
        <created>2007-07-31T17:53:51Z</created>
        <summary>メール受信後にPOP3サーバーからメールを削除する</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					メールの受信後にサーバーからメールを削除したい場合は,<strong>ReceiveAllMessages()</strong>メソッドに削除パラメータをわたす方法が最も簡単です。
【注意！】削除したメールは二度と元に戻りませんのでご注意ください。
<div class="code">[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()
</div>解説
<strong>client</strong>は初期化済みの<strong>Exwarp.Net.Pop3.Pop3Client</strong>インスタンスを表します。

<strong>Exwarp.Net.Pop3.Pop3Client.ReceiveAllMessages()</strong>メソッドは、パラメータを1つ受け取ることができます。
このパラメータは、メールの受信後に受信したメールをサーバーから削除するかどうかのフラグを表し、
内部的には、<strong>Pop3Clinet.DeleteAfterReceive</strong>プロパティの値を更新してから受信を実行します。

<strong>true</strong>をセットすると、受信後にPOP3サーバーからメールを削除する処理が自動的に実行されます。デフォルトは<strong>false</strong>です。
<strong>ReceiveAllMessages()</strong>メソッドは、<strong>RunCommand("ReceiveAllMessage")</strong>のラッパーメソッドとして実装しているため、どちらの方法を採用しても動作に違いはありません。

					]]>        
				</content>
    </entry>    <entry>
        <title>ExwarpMailKit1.0.352.*公開のお知らせ</title>
        <link href="http://exwarp.com/?id=140" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=140</id>
        <issued>2007-07-12T18:26:11+09:00</issued>
        <modified>2007-07-12T18:26:11Z</modified>
        <created>2007-07-12T18:26:11Z</created>
        <summary>ExwarpMailKit1.0.352.*公開のお知らせ</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					Exwarp MailKit 1.0.352.*をリリースしました。
スパムメールの受信時などに発生する「不正なdatetimeです。」例外を回避できます。
製品版をご購入いただいたユーザー様は無料でバージョンアップできます。

					]]>        
				</content>
    </entry>
</feed>

