2ちゃんねる発メーラー作成スレ
■ このスレッドは過去ログ倉庫に格納されています
0001
NGNG当然OEは論外 と思う人
2ちゃんねる発のフリーのメーラーを作りませんか?
0153デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG俺は応援してる。
ここは2chなんだからああいう口だけ厨はいくらでもいてるんだ。
でも中にはカキコしないが
応援してるヤツもいくらでもいることは分かってくれ…
0158デフォルトの名無しさん
NGNGそういう意味では.NET に期待してたけど、まったくの従来技術の寄せ集めで期待外れ。
.NETを延長して何か新しいものが出そうにないんだよな。
つまりパソコンの性能が5年で10倍になってるし、たぶん5年先も10倍になるだろうけど
5年前はこの性能が10倍になればHALくらい実現出来そうに思えてたけど、
今はそれが幻想だと判ってる。
だから、新しい幻想が必要なのに .NETはそれを与えてくれていない・・というような
0159デフォルトの名無しさん
NGNG純粋にまともなクラスライブラリが手に入ったことを喜んでいる次第です。
0160デフォルトの名無しさん
NGNGところで、なんで全部C++で書かないんですか?
何か理由があると考えられるんですか?
0161124
NGNGありがとう。
まあ、たしかに自分が今現在設計に向いてないのは事実だとは思うよ。
自分で作っていても一番悩むのはデータ構造だしな。
>>160
C++は覚えたてなので、クラス以外、派生/継承等よくわからん。
Cならもう少しまともな設計ができたと思うがね。
ところで、私はどちらかと言うと、UIの方が得意なんで、
Outlook風でよければ(ツリービュー、リストビューとEditのやつね)、
ウィンドウ開くとこまでは作るがどうよ?
APIコール、エラー無視の嵐だけど・・・
あと、メモリ上でのメールデータ形式を決定する前に、
プログラムのフローチャート、
データの保存方法や、対応するプロトコル等
を考えた方が良いと思うんだがどうよ?
0162デフォルトの名無しさん
NGNG厨房うざいよ
もう出てくるな
0163デフォルトの名無しさん
NGNG暇つぶしにPOP3の仕様見てきた。
死ぬほど簡単だね。メール削除のフリーソフトが沸きまくるわけだ。
問題はメールのデコードやね。こっちの方が大変かと。
0164デフォルトの名無しさん
NGNGありもの使えんかね
0166夏みかん
NGNGCに限らず、プログラミング言語全般で言われていることですが
労力を省けるところは極力省く、既存のライブラリはできる限り利用する
のがよいかと。
自分でいちからライブラリを全部構築していくのもいいんですけど、それに伴うデバッグ労力を考えると
やはり既存のものを流用した方がよいのでは・・・
しかしIOまわりをCで書くとなると…C++等では簡単にできるライブラリの拡張が難しいかも
>>161で言っているようにIO面は他の人に任せるというのも一つの方法かもしれません
その場合はコード保守の簡便さのためにもDLL化してもらい
(例えばpop3.dll smtp.dll imap4.dll・・・のように)
それを呼び出すのがベターでしょう・・・
…と書いてみましたがこれだけではそこらへんの口だけ厨と同じなので
データ構造を少し考えてみようと思います
ヽ(´ー`)ノまあマターリといきませう
0167デフォルトの名無しさん
NGNG1、 内部のデータ構造はその作者に任せる
2、 GUI部はそのインターフェスを扱う
3、 送信、受信部にはそのインターフェースを渡す
というように多数に分割して開発したらいいんじゃないの?
シンプルなテキストメールだけを扱いたいならこのインターフェースだけで
そして、マルチパートを組み込みたければそれまでのインターフェースを触らずに
インターフェースを追加すればいい
そして、インターフェースについては
既に >>131 のデータ構造が出てるからそれでいいんじゃないの?
というかこれ.NETのライブラリと同じような・・・
0168デフォルトの名無しさん
NGNGつまんない。再利用する技術も大事。でも、みんながそうするとライブラリ作る人がいなくなるのよね。
おもしろい技術が一握りの人の物にしてしまうのはもったいない。
0169デフォルトの名無しさん
NGNGだから、メール1件分のデータのインターフェースだけ決めておいて
バラバラに開発出来るようにしたらどう? 送受部が出来なければ
GUIだけ出来ても動かないから面白くないし、送受部だけ出来ても
GUI部が無ければ面白くないでしょ?
0170デフォルトの名無しさん
NGNGそれは同意。インターフェースを決めよう。
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGインターフェース決まればUIはどうとでもなるだろ。
気に入らんならデコードルーチンとかかっぱらって自分でCUIくっつければいい。
0173デフォルトの名無しさん
NGNG2パート目以降は子供なのか?
Listにして同レベルで管理すべきじゃない?
0174デフォルトの名無しさん
NGNG・・・といっても Delphiでやるの? それともC++?
1、Delphiでインターフェース型
property CC string: read GetCC write PutCC ;のように
2、Delphiでクラス型
property CC:string;
3、C++で GetCC PutCC の純粋仮想関数だけのクラスを作る
自分の好みは Delphiでクラス型
0175デフォルトの名無しさん
NGNGDLLで言語間の差異を吸収してみたい。とかは。
データはシリアル化して通信。
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGじゃああなたにうってつけですな。
0178デフォルトの名無しさん
NGNGじゃ、もういっそ
IMessage Interface IID CD000001-8B95-11D1-82DB-00C04FB1625D
をそのまま使いますか?
0179デフォルトの名無しさん
NGNGWindows限定で、多(プログラミング)言語混在なら確かにCOMがいいだろうけど…
多言語混在はメンテがややこしくなるので一本がいいような気も
0180デフォルトの名無しさん
NGNGじゃあ多人数混在(略
0181デフォルトの名無しさん
NGNG誰かがちゃっちゃと実際に動く物を作ってたたき台を提供しないと
いつまでたってもできませんな。
MIME Message構造の構築・解読処理はむしろ各モジュール内で勝手にやれってことにして
受け渡しはSMTP送受信形式にしてしまうのがむしろ確実かつ話が早いんでは。
MIMEライブラリは別途言語ごとに作ってしまえと。
0182デフォルトの名無しさん
NGNGやっぱ環境は.NETだろお。
0183デフォルトの名無しさん
NGNGプロトタイプ挙げてくれ。良ければそれで行こうよ。
0184夏みかん
NGNG>おもしろい技術が一握りの人の物にしてしまうのはもったいない
(;´Д`)あなたがライブラリ実装するなら止めはしませんが…
おおまかな実装はすぐにできても後々細かいバグが残る恐れは十分にありますから
先人の残した物は有効利用すべきでしょう、と言いたいんですが、、この話題に粘着しすぎかな
インターフェイスはひとまず極めてシンプルに決めて後から拡張すればいいでしょう
添付ファイルなどのごちゃごちゃしたものについてはひとまず無視して後のバージョンでの対応ということにし、
MIMEエンコード/デコード(内部に遮蔽していいかと)・マトモなMessageID付け・送受信だけできるものを作り
それを改良していくようにすれば方向性がしっかりするでしょうし
↓のようにすればいいのかな…(;´Д`)頭の中でCとC++とJavaが適当にごちゃごちゃになってるもので
誰かもっといいの出してくらはい
細かいことは>>131参照で
MailMessage* myMailMessage;
myMailMessage = new MailMessage();
myMailMessage->setMimeType("iso-2022-jp");
myMailMessage->setFrom("[email protected]");
myMailMessage->setSender("foobar");
myMailMessage->setTo("[email protected]");
myMailMessage->setSubject("メールのタイトル");
myMailMessage->setBody(bodyText);
SMTPsend(myMailMessage);
各値を取り出したいときにはgetSender(〜)のように
0185デフォルトの名無しさん
NGNG0186夏みかん
NGNG最初からボツのつもりで書いてるから細かいところは無視してたんですけど
ちょっと書き換えてみますね
SMTP* mySMTP;
アカウント選択時に以下の処理を
mySMTP->setSMTPsrv(myAccount->SMTPsrv);
mySMTP->setSMTPport(myAccount->SMTPport);
//portはデフォルト値使用でまず問題は発生しない
・・・
送信時には
mySMTP->sendMessage(myMailMessage);
これもさらに色々と手抜き設計なので、誰か修正よろしくです(というか、これ採用じゃないですよね(;´Д`)穴がボコボコ出そう)
0187124
NGNGインターフェースの方が良いのでは?
MailAcount Acount;
MailMessage Msg;
...
Acount.SendMail(Msg);
見たいな感じで。
>>173
子パートは再帰します。
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGsession.putMessage(msg1);
session.putMessage(msg2);
session.flush();
ツー感じでどう?
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG>子パートは再帰します。
理解。
子パートの中に孫パートがあって・・・
って感じになるんですな。
0192124
NGNGそうです。まあ、プログラム構造としては、
1次元で管理した方が楽だろうけど。
ところで、POP/SMTPのライブラリ/コンポネートはどうなったの?
自前で作るのか?それとも既存品を使うのか?
0193デフォルトの名無しさん
NGNG>C++は覚えたてなので、クラス以外、派生/継承等よくわからん。
派生を知らないでクラス設計ができるわけねーだろ、ぼけ
>APIコール、エラー無視の嵐だけど・・・
普通無視しないだろ、ぼけ
>プログラムのフローチャート、
今時フローチャートは書かないんだよ、ぼけ
クラス構造を考えろ、ぼけ
0194デフォルトの名無しさん
NGNG実装者の判断に任せては?
か、Adapterになるクラスのインターフェース決めるか。
0195124
NGNG誰か実装してくれる方いる?
>>193
まあ、無視といってもほとんどエラーメッセージ
を出さないぐらいだから安心しろ(藁
ところで、クラス構造はお前が考えてくれるんだよな?
ところで、GUIはどんなのが良い?
VC++.netで書くからT...クラスは無しの方向で頼む。
0196デフォルトの名無しさん
NGNG>VC++.netで書くからT...クラスは無しの方向
なぜに。もっともホットなクラス利用可能言語なのに。
0197デフォルトの名無しさん
NGNG124は初心者なので適当に遊ばせておけばいい
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG0200124
NGNGだってベースとなるウィンドウ以外は
ウィンドウズ標準/コモンコントロール/コモンダイアログ
で作った方が良くない?
ってごめん。ウィンドウクラスのことです。
0202デフォルトの名無しさん
NGNGお前、モジュール分割って言葉聞いたことあるか?
0203デフォルトの名無しさん
NGNG0204124
NGNG>>980
裏技教えてやるよ。
<F1キーでヘルプが出る>
これ見てくれよ!すげぇ機能だよ。このメーラにも組み込もう。
0205124
NGNG初心者でスマソ
0208124 ◆2X4qu9v2
NGNG偽は消えろ。
これ以上皆様に迷惑をかけない為、今度こそ消えます。
2ch発メーラーの作成がんばって下さい。
大変ご迷惑をかけ、誠に申し訳なく思っておりますので、
ご理解の程をお願いいたします。
0209デフォルトの名無しさん
NGNGうだうだうるせー
何も言わずにさっさと消えろ
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNGあーあ またプロジェクトがひとつ潰れた。
0212デフォルトの名無しさん
NGNG公の場でプロジェクトを進めるなら叩かれるのが普通だろ?
叩かれて良いものになっていくものだよ
そんなこともわからない君は124の自作自演かい?(藁
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGずっと言ってるのに仕様を決めようの一点張りなのよね。
作り出して仕様変更とかされたらたまらんので誰も手を出さない罠。
0215デフォルトの名無しさん
NGNG叩いているヒマがあるのなら 協力しろよ。煽り厨さんよ。
0216デフォルトの名無しさん
NGNG>>215
0217デフォルトの名無しさん
NGNG>>215
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGパーソナルで IMessageを使う方法があるなら IMessageをデータインターフェースとして使いたい
送受については >>115 >>121 そして
Indy
http://www.nevrona.com/Indy/download90.html
などが使えるらしい。
本日は調査で終了
0220デフォルトの名無しさん
NGNGIndyにはIdMessageがあるね。
TIdMessage オブジェクトは,インターネットメッセージをカプセル化します。
TIdMessage = class(TIdBaseComponent)
説明
TIdMessage オブジェクトは,以下のインターネット規格文書で定義された完全なインターネットメッセージをカプセル化します。
0221デフォルトの名無しさん
NGNG俺の環境は D5pro+D6パーソナル なのでIndyの日本語ヘルプはない。 少し辛いかも
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG日本語の解説サイトどこかない?
0224デフォルトの名無しさん
NGNG日本語のヘルプは kylix用のを発見 中身を見るとテキストだけ取り出せば・・・いや犯罪か
TIdMessageにとりあえず必要な構造は揃っているようす ストリームへの読み書き関係があれば
保存が簡単なので調べるのは明日にしよう。
property Subject: string
property Body: TStrings
property From: TIdEmailAddressItem
property Sender: TIdEmailAddressItem
property ReplyTo: TIdEmailAddressList
property CCList: TIdEmailAddressList
property BccList: TIdEmailAddressList
property AttachmentEncoding: string
property CharSet: string
property ContentType: string
property ContentTransferEncoding: string
property ContentDisposition: string
property Date: TDateTime
property Encoding: TIdMessageEncoding
property ExtraHeaders: TIdHeaderList
property NewsGroups: TStrings
property NoEncode: Boolean
property NoDecode: Boolean
property Organization: string
property Priority: TIdMessagePriority
property ReceiptRecipient: TIdEmailAddressIt
property Recipients: TIdEmailAddressList
property References: string
property UseNowForDate: Boolean
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG自分がやればいいんじゃない?
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNGしてどうするの?
0229デフォルトの名無しさん
NGNG正直、Win用の受信専用メーラーが欲しい。
つーか、
・受信専用メーラ(CUIアプリ)
・送信専用メーラ(CUIアプリ)
・上記2つのフロントエンド兼メールビューア(GUI/CUIアプリ)
に分けて作るってのはどうよ。
0230デフォルトの名無しさん
NGNGメールを受信して保存する部分をサーバとして分離し、
クライアントはUIだけにしたいってこと?
このサーバ・クライアント間のプロトコルはすでにIMAP4があるね。
となると、fetchmail + 適当なimap4サーバ、のようなもので実現できることですな。
クライアントもimap4対応の好きなものを使うだけ。
0231デフォルトの名無しさん
NGNGデコードやら添付ファイルの処理とかがDQNでは作れないのだと思われ。
SMTPはアホでも使える。
0232229
NGNG理想はズバリ fetchmail なんだけど、Winネイティブ版(cygwin除く)見たことが無いナリ。
まぁあそこまで高機能でなくても、最低限ファイル転送できれば良いんですが。
あと受信・送信部分を切り離すことで、将来プロトコルが増えても対応が楽かと。
DLLでも良いんだけど、exeにすりゃCUI派・GUI派のどちらも使えるし。
0233デフォルトの名無しさん
NGNG>exeにすりゃCUI派・GUI派のどちらも使えるし。
質問。コンソールアプリからDLLが使えないって誰から聞いた?
0234デフォルトの名無しさん
NGNGEXEならそうでない人も(原理的には)使える。
ま、実際はプログラマしか使わないんだろうけど。
0235デフォルトの名無しさん
NGNG>ま、実際はプログラマしか使わないんだろうけど。
誰が使うかそんなもん。とだけ言っときます。
0236229
NGNGコンソールからDLLが使えないって何処に書いてある?
「使える」ってのは可/不可の意味じゃなく、役立つ/役立たずの意味だよ。
…などと負け惜しみを言ってみるテスト。
でも、フロントエンド(と言っていいのか不明)が無いと使えんようなdllよか、
単体で使えるexeの方が、CUI/GUIどちらでも使いやすいとは思ふ。
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGEXEをDLLと同等に使うことってできる?
単体でも実行できるけど、DLLとしても機能するような感じ。
EXEとDLLを別々に提供してもいいんだけどさ。
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNGきょう、画面に文字が出せました。
次はキーボードを使えるプログラムを作ろう。
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGそれって「途中経過」じゃなくて「最初の一歩」じゃん…
「最初の一歩」っていうか「まだ作ってません」じゃん…
0244デフォルトの名無しさん
NGNGメーラー作るの初めてなんで、なんか簡単なメーラーのサンプルプログラム
あったら、紹介してもらえない?
0245244
NGNGC言語のサンプルプログラムならなお嬉しいです。
0246デフォルトの名無しさん
NGNGワラタ
0247デフォルトの名無しさん
NGNGhttp://nakka.com/soft/npop/
0248244
NGNGありがとう。
でもメーラーって結構簡単な感じするんだけど…?
目が肥えてて、厳しい2ちゃんねらーを納得するメーラーって
難しいものになりそうですね。
本当モナー版ポ○トペット作ろうかな…。
0249デフォルトの名無しさん
NGNG送受信関係のロジックは簡単。
データのエンコードデコードが面倒。
オリジナルAAを送り込める機能が欲しいです。
0250デフォルトの名無しさん
NGNGオリジナルのヘッダ
X-AA
を装備して、デコード
ちょうど、X-faceみたいに
0251244
NGNGとりあえず仕事帰ってからしか出来ないから、
開発は遅い予感。
0252デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています