ログインしていません。このフォーラムはログインユーザのみに投稿が許可されています。投稿する場合はログインしてください。
ダウンロード
Magazine
開発
アカウント
ダウンロード
Magazine
開発
ログイン
アカウント/パスワードを忘れた
アカウント作成
言語
ヘルプ
言語
ヘルプ
×
ログイン
ログイン名
パスワード
×
アカウント/パスワードを忘れた
日本語の翻訳状況
カテゴリ:
ソフトウェア
人物
PersonalForge
Magazine
Wiki
検索
OSDN
>
ソフトウェアを探す
>
システム
>
ネットワーク
>
CLX C++ Libraries
>
フォーラム
>
開発者
>
smtp/pop
CLX C++ Libraries
概要
プロジェクト概要
開発ダッシュボード
Webページ
開発メンバー
画像ギャラリー
公開フィード一覧
活動
統計情報
活動履歴
ダウンロード
リリース一覧
統計
ソースコード
コードリポジトリリスト
Subversion
リポジトリ閲覧
チケット
チケット一覧
マイルストーン一覧
チケットの種類一覧
コンポーネント一覧
よく使われるチケット一覧のリスト/RSS
新規チケット登録
コミュニケーション
フォーラム一覧
ヘルプ (2)
公開討議 (19)
開発者 (24)
ニュース
フォーラム:
開発者
(スレッド #20505)
話題(スレッド)一覧に戻る
RSS
smtp/pop (2008-11-12 03:20 by
cielquis
#39829)
チケットに引用
メモ.
現在の実装だと,一旦データを全部もらってから送受信を行うので,(添付ファイルなどの関係で)メール本文のデータサイズが大きくなったときに困る.
なので,データの送受信が可能となった時点でソケット通信用のストリームを返して,データ部分の送受信はユーザに任せるようなインターフェースが必要か?
MIME のクラス設計としては,コンストラクタで送受信の準備の整ったソケットストリームを渡してもらって,あとはユーザがメール本文を追加するたびに,順次送っていくような形で実装するのが良いのか.
RE: smtp/pop (2008-11-12 11:48 by
cielquis
#39834)
チケットに引用
ストリームを返す形だと,全部送り終わった後のサーバからのレスポンスを受け取るタイミングが難しいか.smtp だと,今の message 引数の部分を関数オブジェクトを取る形にするのが良いかもしれない.
template <class Functor>
basic_smtp& mail(const string_type& from, const string_type& to, Functor f);
送信相手が複数の場合は,
template <class MailingList, class Functor>
basic_smtp& mail(const string_type& from, const MailingList& to, Functor f);
こんな感じ.
ユーザは,Functor として,
class functor {
public:
template <class OutputIterator>
void operator()(OutputIterator& sout);
};
こんな形のクラス,または関数を定義して渡す.
#39829
への返信