<?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>2008-07-21T16:38:46+09:00</modified>
    <tagline></tagline>
    <generator url="http://exwarp.com/"></generator>
    <entry>
        <title>Exwarp MailKit 1.0.406.*リリースのお知らせ</title>
        <link href="http://exwarp.com/?id=147" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=147</id>
        <issued>2008-07-21T16:38:46+09:00</issued>
        <modified>2008-07-21T16:38:46Z</modified>
        <created>2008-07-21T16:38:46Z</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>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>    <entry>
        <title>メールのメッセージソースを取得する。</title>
        <link href="http://exwarp.com/?id=139" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=139</id>
        <issued>2007-07-07T12:31:36+09:00</issued>
        <modified>2007-07-07T12:31:36Z</modified>
        <created>2007-07-07T12:31:36Z</created>
        <summary>メールのメッセージソースを取得する。</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					<p><strong>RFCMessage</strong>及びその派生クラス（<strong>MIMEMessage</strong>や<strong>MailMessage</strong>）には<strong>MessageSource</strong>プロパティが定義されています｡このプロパティの値は<strong>Byte</strong>型の配列ですが、このプロパティの値を取得したり更新したりすることでメッセージソースを簡単に操作できます｡</p>
<div class="code">[C#]
byte[] src = msg.MessageSource;
System.Diagnostics.Debug.WriteLine(System.Text.Encoding.ASCII.GetString(src));
</div><div class="code">[VB.Net]
Dim src() As Byte = msg.MessageSource
System.Diagnostic.Debug.WriteLine(System.Text.Encoding.ASCII.GetString(src))</div>
[解説]<p>上記サンプルコードの<strong>msg</strong>は、RFCMessageの派生クラスのインスタンスを表します｡このインスタンスの作り方については<a href="http://blog.exwarp.com/?eid=26284">こちら</a>を参照してください｡</p><p><strong>MessageSource</strong>プロパティの戻り値をByte型の配列（この場合<strong>src</strong>）で受け取ります｡</p><p>取得したバイト列の内容をASCIIエンコーディングで文字列に変換しデバッグウィンドウに表示しています｡これでバイト列のイメージが取得できます｡ASCIIエンコーディングですから8ビット文字が出てくる場合正常に表示されません｡文字化けします。</p>
					]]>        
				</content>
    </entry>    <entry>
        <title>メールの添付ファイルを削除する</title>
        <link href="http://exwarp.com/?id=138" rel="alternate" type="text/html" />
        <id>http://exwarp.com/?id=138</id>
        <issued>2007-06-21T11:43:06+09:00</issued>
        <modified>2007-06-21T11:43:06Z</modified>
        <created>2007-06-21T11:43:06Z</created>
        <summary>メールの添付ファイルを削除する</summary>
        <author>
            <name>exWarp</name>
        </author>
				<content mode="escaped" type="text/html" xml:lang="ja">
					<![CDATA[
					<p>メールメッセージに含まれる添付ファイルを削除するには、<strong>RemoveAttachment</strong>カスタムオペレーションを使用します。今回はすべての添付ファイルを削除するサンプルを紹介します。</p><div class="code">[C#]
object atts = mail.RunCommand("GetAttachments");
if(atts != null)
{
&nbsp;&nbsp;&nbsp;&nbsp;foreach(object att in (System.Collections.IEnumerable)atts)
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mail.RunCommand("RemoveAttachment",att);
&nbsp;&nbsp;&nbsp;&nbsp;}
}</div><div class="code">[VB.Net]
Dim atts() As Object = mail.RunCommand("GetAttachments")

If Not(atts Is Nothing) Then
&nbsp;&nbsp;&nbsp;&nbsp;Dim att As Object
&nbsp;&nbsp;&nbsp;&nbsp;For Each att In CType(atts,System.Collections.IEnumerable)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mail.RunCommand("RemoveAttachment",att)
&nbsp;&nbsp;&nbsp;&nbsp;Next
End If</div>解説<p><strong>mail</strong>は<strong>Exwarp.Net.Mail.MailMessage</strong>のインスタンスを表します。このインスタンスの取得方法については、<a href="http://blog.exwarp.com/?eid=22435">こちら</a>を参照してください。</p><p>すべての添付ファイルを削除するために、まず<strong>GetAttachments</strong>カスタムオペレーションを使用して、削除対象となる添付メッセージの配列を取得します。この配列を列挙しながら、<strong>MailMessage</strong>の<strong>RemoveAttachment</strong>カスタムオペレーションを実行します。</p><p><strong>RemoveAttachment</strong>カスタムオペレーションは削除する添付メッセージを表す<strong>Exwarp.Net.RFC.MIME.MIMEContentMessage</strong>型のパラメータを一つ受け取ります。今回はキャストせずに<strong>Object</strong>型のまま渡しています。</p>
					]]>        
				</content>
    </entry>
</feed>
