TNB Library
公開メンバ関数 | 全メンバ一覧
CMailContent クラス

メール内容管理クラス [詳解]

#include <TnbMailContent.h>

公開メンバ関数

bool AddBccMailAddr (const CAscii &ascBccAddr, const CAscii &ascBccName="")
 [設定] 宛先名設定(BCC) [詳解]
 
bool AddBccMailAddr (const CMailAddress &addr)
 [設定] 宛先名設定(BCC) [詳解]
 
bool AddCcMailAddr (const CAscii &ascCcAddr, const CAscii &ascCcName="")
 [設定] 宛先名設定(CC) [詳解]
 
bool AddCcMailAddr (const CMailAddress &addr)
 [設定] 宛先名設定(CC) [詳解]
 
void AddSendBinaryData (const CAscii &ascFileName, const CByteVector &vb)
 [設定] 送信データ追加 [詳解]
 
bool AddSendFileData (LPCTSTR lpszFile)
 [設定] 送信データ追加 [詳解]
 
void AddSendTextData (const CAscii &ascText)
 [設定] 送信テキスト追加 [詳解]
 
bool AddToMailAddr (const CAscii &ascToAddr, const CAscii &ascToName="")
 [設定] 宛先名設定 [詳解]
 
bool AddToMailAddr (const CMailAddress &addr)
 [設定] 宛先名設定 [詳解]
 
 CMailContent (void)
 コンストラクタ [詳解]
 
CAsciiVector GetAddrsForSend (void) const
 [取得] 送信用アドレス一覧 [詳解]
 
CAscii GetContentForSend (void) const
 [取得] 送信用メール内容取得 [詳解]
 
void Init (void)
 [設定] 設定初期化. [詳解]
 
void InitSendData (void)
 [設定] 送信内容初期化 [詳解]
 
void InitToMailAddr (void)
 [設定] 宛先名設定初期化 [詳解]
 
bool IsCompletesForSend (void) const
 [確認] 送信可能確認. [詳解]
 
const CVectorT< CMailAddress > & ReferBccMailAddr (void) const
 [参照] 宛先名参照(BCC) [詳解]
 
const CMapT< CAscii, CByteVector > & ReferBinaryDatas (void) const
 [参照] バイナリコンテンツ参照 [詳解]
 
const CVectorT< CMailAddress > & ReferCcMailAddr (void) const
 [参照] 宛先名参照(CC) [詳解]
 
const CMailAddressReferFromMailAddr (void) const
 [参照] 送信メールアドレス参照 [詳解]
 
const CAsciiReferMailerName (void) const
 [参照] メーラー名参照 [詳解]
 
CAscii ReferReplyMailAddr (void) const
 [参照] リプライ名参照. [詳解]
 
const CAsciiReferSubject (void) const
 [参照] 件名参照 [詳解]
 
const CAsciiVectorReferTextDatas (void) const
 [参照] テキストコンテンツ参照 [詳解]
 
const CVectorT< CMailAddress > & ReferToMailAddr (void) const
 [参照] 宛先名参照 [詳解]
 
const CAsciisMapReferUnknownCommandFromReceive (void) const
 [取得] 受信データ解析結果 SetContentFromReceive() で解析中、本クラスの知らないコマンド&パラメータを抽出してあります。 それを参照することが出来ます。 [詳解]
 
bool SetContentFromReceive (const CAsciiVector &vascContent)
 [解析] 受信データ解析. [詳解]
 
bool SetContentFromReceive (LPCSTR lpszContent)
 [解析] 受信データ解析. [詳解]
 
bool SetFromMailAddr (const CAscii &ascFromAddr, const CAscii &ascFromName="")
 [設定] 送信名設定 [詳解]
 
bool SetFromMailAddr (const CMailAddress &addr)
 [設定] 送信名設定 [詳解]
 
void SetMailerName (const CAscii &ascMailerName)
 [設定] メーラー名設定 [詳解]
 
bool SetReplyMailAddr (const CAscii &ascReply="")
 [設定] リプライ名設定. [詳解]
 
void SetSubject (const CAscii &ascSubject)
 [設定] 件名設定 [詳解]
 
 ~CMailContent (void)
 デストラクタ [詳解]
 

詳解

メール内容管理クラス

差出者、宛先者、件名、内容を管理します。
管理情報からメール送信用のテキストを作成することが可能です
(受信は、{@link TNB::CPop3Client POP3クラス}が用意してあります)。
受信したテキストを分析し、本クラスに記憶することが可能です
(送信は、{@link TNB::CSmtpClient SMTPクラス}が用意してあります)。
覚え書き
インスタンスの複製が可能です。
todo:
解析データのエラー時の処理、及び通知が未実装です。
使用例
    CMailContent mail;
    mail.SetFromMailAddr("boss@tnb.co.jp", "ぼす");       
    mail.AddToMailAddr("oyabun@tnb.co.jp", "おやぶん");
    mail.AddCcMailAddr("master@tnb.co.jp", "マスター");
    mail.SetSubject("例の件");
    mail.AddSendTextData("こんにちわ\r\n例の件、どうですか?");
    TRACE1("%s\n", mail.GetContentForSend());
 
    From: =?ISO-2022-JP?B?GyRCJFwkORsoQg==?= <boss@tnb.co.jp>
    To: =?ISO-2022-JP?B?GyRCJCokZCRWJHMbKEI=?= <oyabun@tnb.co.jp>       
Cc: =?ISO-2022-JP?B?GyRCJV4lOSU/ITwbKEI=?= <master@tnb.co.jp> Subject: =?ISO-2022-JP?B?GyRCTmMkTjdvGyhC?= MIME-Version: 1.0 X-Mailer: TNB Tiny Mailer Content-Type: text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding: 7bit .$B$3$s$K$A$o.(B .$BNc$N7o!"$I$&$G$9$+!).(B .
必要ファイル
TnbMailContent.h
日付
06/10/05 作成だけ作成
06/10/06 SJIS文字列のままBASE64化していた。修正。
06/10/30 読み込み(解析)、実装。
06/10/31 読み込み(解析)結果、取得メソッド実装。

TnbMailContent.h201 行目に定義があります。

構築子と解体子

◆ CMailContent()

CMailContent ( void  )

コンストラクタ

TnbMailContent.h642 行目に定義があります。

◆ ~CMailContent()

~CMailContent ( void  )

デストラクタ

TnbMailContent.h647 行目に定義があります。

関数詳解

◆ AddBccMailAddr() [1/2]

bool AddBccMailAddr ( const CAscii ascBccAddr,
const CAscii ascBccName = "" 
)

[設定] 宛先名設定(BCC)

覚え書き
対象が複数人いる場合、本メソッドを人数回使用する必要があります。
引数
ascBccAddr宛先アドレス(Ascii文字のみ)。
ascBccName宛先ユーザ名。省略可能。
戻り値
true成功。
false失敗。

TnbMailContent.h804 行目に定義があります。

◆ AddBccMailAddr() [2/2]

bool AddBccMailAddr ( const CMailAddress addr)

[設定] 宛先名設定(BCC)

覚え書き
対象が複数人いる場合、本メソッドを人数回使用する必要があります。
引数
addr宛先。
戻り値
true成功。
false失敗。

TnbMailContent.h787 行目に定義があります。

◆ AddCcMailAddr() [1/2]

bool AddCcMailAddr ( const CAscii ascCcAddr,
const CAscii ascCcName = "" 
)

[設定] 宛先名設定(CC)

覚え書き
対象が複数人いる場合、本メソッドを人数回使用する必要があります。
引数
ascCcAddr宛先アドレス(Ascii文字のみ)。
ascCcName宛先ユーザ名。省略可能。
戻り値
true成功。
false失敗。

TnbMailContent.h775 行目に定義があります。

◆ AddCcMailAddr() [2/2]

bool AddCcMailAddr ( const CMailAddress addr)

[設定] 宛先名設定(CC)

覚え書き
対象が複数人いる場合、本メソッドを人数回使用する必要があります。
引数
addr宛先。
戻り値
true成功。
false失敗。

TnbMailContent.h758 行目に定義があります。

◆ AddSendBinaryData()

void AddSendBinaryData ( const CAscii ascFileName,
const CByteVector vb 
)

[設定] 送信データ追加

覚え書き
送信内容にバイナリデータ追加
引数
ascFileNameファイル名
vb内容

TnbMailContent.h847 行目に定義があります。

◆ AddSendFileData()

bool AddSendFileData ( LPCTSTR  lpszFile)

[設定] 送信データ追加

覚え書き
指定ファイルを読込んでそれを、送信内容にバイナリデータとして追加。
引数
lpszFileファイル名
戻り値
true成功
false失敗(指定ファイルがない、など)
例外
CIoFailureExceptionファイル読み込み時にエラーが発生すると、スローされます。

TnbMailContent.h863 行目に定義があります。

◆ AddSendTextData()

void AddSendTextData ( const CAscii ascText)

[設定] 送信テキスト追加

覚え書き
送信内容にテキスト追加します。複数回本メソッドを使用すると、 連結ではなく、別のパートにテキストが追加されますのでご注意ください。
注意
各行は、70文字程度になるようにしてください。
覚え書き
改行コードは、 ¥r¥n を使用します。
引数
ascTextテキスト。

< 内容テキスト

TnbMailContent.h836 行目に定義があります。

◆ AddToMailAddr() [1/2]

bool AddToMailAddr ( const CAscii ascToAddr,
const CAscii ascToName = "" 
)

[設定] 宛先名設定

覚え書き
送信のために必須な設定です。必ず一人は設定してください。
対象が複数人いる場合、本メソッドを人数回使用する必要があります。
引数
ascToAddr宛先アドレス(Ascii文字のみ)。
ascToName宛先ユーザ名。省略可能。
戻り値
true成功。
false失敗。

TnbMailContent.h746 行目に定義があります。

◆ AddToMailAddr() [2/2]

bool AddToMailAddr ( const CMailAddress addr)

[設定] 宛先名設定

覚え書き
送信のために必須な設定です。必ず一人は設定してください。
対象が複数人いる場合、本メソッドを人数回使用する必要があります。
引数
addr宛先。
戻り値
true成功。
false失敗。

TnbMailContent.h728 行目に定義があります。

◆ GetAddrsForSend()

CAsciiVector GetAddrsForSend ( void  ) const

[取得] 送信用アドレス一覧

覚え書き
AddToAddr() , AddCcAddr() , AddBccAddr() で設定したアドレス一覧
戻り値
一覧

TnbMailContent.h999 行目に定義があります。

◆ GetContentForSend()

CAscii GetContentForSend ( void  ) const

[取得] 送信用メール内容取得

覚え書き
ヘッダパート、本体パートなど、連結して作成します。
戻り値
内容。

TnbMailContent.h1017 行目に定義があります。

◆ Init()

void Init ( void  )

[設定] 設定初期化.

覚え書き
コンストラクトした状態に戻します。

TnbMailContent.h653 行目に定義があります。

◆ InitSendData()

void InitSendData ( void  )

[設定] 送信内容初期化

覚え書き
AddSendTextData() , AddSendBinaryData() , AddSendFileData() の設定をクリアします。

TnbMailContent.h822 行目に定義があります。

◆ InitToMailAddr()

void InitToMailAddr ( void  )

[設定] 宛先名設定初期化

覚え書き
AddToMailAddr() , AddCcMailAddr() , AddBccMailAddr() で設定した宛先をクリアします。

TnbMailContent.h713 行目に定義があります。

◆ IsCompletesForSend()

bool IsCompletesForSend ( void  ) const

[確認] 送信可能確認.

送信するための情報は設定されているか、確認します。

戻り値
true可能。
false足りない。

TnbMailContent.h981 行目に定義があります。

◆ ReferBccMailAddr()

const CVectorT< CMailAddress > & ReferBccMailAddr ( void  ) const

[参照] 宛先名参照(BCC)

戻り値
格納されている BCCの宛先メールアドレス情報群

TnbMailContent.h941 行目に定義があります。

◆ ReferBinaryDatas()

const CMapT< CAscii, CByteVector > & ReferBinaryDatas ( void  ) const

[参照] バイナリコンテンツ参照

戻り値
格納されている バイナリ名とバイナリ内容の Map。

TnbMailContent.h968 行目に定義があります。

◆ ReferCcMailAddr()

const CVectorT< CMailAddress > & ReferCcMailAddr ( void  ) const

[参照] 宛先名参照(CC)

戻り値
格納されている CCの宛先メールアドレス情報群

TnbMailContent.h932 行目に定義があります。

◆ ReferFromMailAddr()

const CMailAddress & ReferFromMailAddr ( void  ) const

[参照] 送信メールアドレス参照

覚え書き
得られるのは SetUser() の第二引数で設定した文字列か、SetContentFromReceive() の解析結果です。
戻り値
格納送信メールアドレス情報

TnbMailContent.h914 行目に定義があります。

◆ ReferMailerName()

const CAscii & ReferMailerName ( void  ) const

[参照] メーラー名参照

戻り値
格納されているメーラ名。

TnbMailContent.h895 行目に定義があります。

◆ ReferReplyMailAddr()

CAscii ReferReplyMailAddr ( void  ) const

[参照] リプライ名参照.

戻り値
リプライ先メールアドレス(Ascii文字のみ)。

TnbMailContent.h950 行目に定義があります。

◆ ReferSubject()

const CAscii & ReferSubject ( void  ) const

[参照] 件名参照

戻り値
格納されている 件名。

TnbMailContent.h904 行目に定義があります。

◆ ReferTextDatas()

const CAsciiVector & ReferTextDatas ( void  ) const

[参照] テキストコンテンツ参照

戻り値
格納されている テキスト本文の Vector。

TnbMailContent.h959 行目に定義があります。

◆ ReferToMailAddr()

const CVectorT< CMailAddress > & ReferToMailAddr ( void  ) const

[参照] 宛先名参照

戻り値
格納されている TOの宛先メールアドレス情報群

TnbMailContent.h923 行目に定義があります。

◆ ReferUnknownCommandFromReceive()

const CAsciisMap & ReferUnknownCommandFromReceive ( void  ) const

[取得] 受信データ解析結果 SetContentFromReceive() で解析中、本クラスの知らないコマンド&パラメータを抽出してあります。 それを参照することが出来ます。

覚え書き
SetContentFromReceive() が失敗すると、情報は残りません。
戻り値
コマンドとパラメータのマップ

TnbMailContent.h1163 行目に定義があります。

◆ SetContentFromReceive() [1/2]

bool SetContentFromReceive ( const CAsciiVector vascContent)

[解析] 受信データ解析.

解析し、本インスタンスに設定します。

覚え書き
Refer〜() という名のメソッドで、解析した結果を得ることが出来ます。
本クラスの知らないコマンドは、 本メソッド成功後、 ReferUnknownCommandFromReceive() にて参照することが出来ます。Dateなどは、これに含まれます。
引数
vascContent受信内容。
戻り値
true成功
false失敗

TnbMailContent.h1144 行目に定義があります。

◆ SetContentFromReceive() [2/2]

bool SetContentFromReceive ( LPCSTR  lpszContent)

[解析] 受信データ解析.

解析し、本インスタンスに設定します。

覚え書き
Refer〜() という名のメソッドで、解析した結果を得ることが出来ます。
本クラスの知らないコマンドは、 本メソッド成功後、 ReferUnknownCommandFromReceive() にて参照することが出来ます。Dateなどは、これに含まれます。
引数
lpszContent受信内容。
戻り値
true成功
false失敗

TnbMailContent.h1122 行目に定義があります。

◆ SetFromMailAddr() [1/2]

bool SetFromMailAddr ( const CAscii ascFromAddr,
const CAscii ascFromName = "" 
)

[設定] 送信名設定

覚え書き
送信のために必須な設定です。
引数
ascFromAddrアドレス(Ascii文字のみ)。
ascFromNameユーザ名。省略可能。
戻り値
true成功。
false失敗。

TnbMailContent.h667 行目に定義があります。

◆ SetFromMailAddr() [2/2]

bool SetFromMailAddr ( const CMailAddress addr)

[設定] 送信名設定

覚え書き
送信のために必須な設定です。
引数
addrメールアドレス
戻り値
true成功。
false失敗。

TnbMailContent.h681 行目に定義があります。

◆ SetMailerName()

void SetMailerName ( const CAscii ascMailerName)

[設定] メーラー名設定

覚え書き
設定しないと”TNB Tiny Mailer”になっています。
引数
ascMailerNameメーラ名。

TnbMailContent.h704 行目に定義があります。

◆ SetReplyMailAddr()

bool SetReplyMailAddr ( const CAscii ascReply = "")

[設定] リプライ名設定.

覚え書き
NULLを指定すると解除になります。
引数
ascReplyリプライ先メールアドレス(Ascii文字のみ)。
戻り値
true成功。
false失敗。

TnbMailContent.h694 行目に定義があります。

◆ SetSubject()

void SetSubject ( const CAscii ascSubject)

[設定] 件名設定

引数
ascSubject件名。

TnbMailContent.h813 行目に定義があります。