web-dev-qa-db-ja.com

PHPを使用してWebベースの電子メールクライアントをどのように構築しますか?

PHP(yahooおよびgmailに類似))でWebベースの電子メールクライアントを構築する方法を学びたいと思います。

私がこれを始める方法を誰かが知っていますか?

システムでメールを送受信できるようにしたい。

24
panidarapu

最も明白な答えは「しない」です。すでに多くのウェブメールソフトウェアがあり、その一部はPHPベースです(PHPの使用に依存している場合、すでにLAMPベースのサーバーがあるためです)スタックなど)

いくつかの名前だけを引用すると、すべてPHPベースなので、次の名前を確認できます。

  • SquirrelMail :かなり古いもので、それほどセクシーではありません...しかし、何年も仕事をしています
  • Horde IMP :よく知っていて、非常に強力です
  • roundcube :たぶん私が試したリストの中で最も「セクシー」で「web 2.0」
  • AtMail :これを使ったことがないので、これ以上は言えません...

リストの最初の3つをかなり長い間使用してきました。 roundcubeは間違いなく最も「ユーザーフレンドリー」でした。

(少しグーグルすると、もっと多くのものが見つかるかもしれません-しかし、私は最も使用されているものについて話したと思います)


さて、あなたがしなければならないたとえば、あなたの会社のためにWebメールを設定した場合:確実に既存のソフトウェアをいくつか使用する

  • 既存のソフトウェアは、かなり「良い」になります:
    • 多くの人がそれを使用しています。つまり、「これはもっと上手くできるかもしれません」、「ユーザーフレンドリーではありません」、または...あなたは要点を理解しています。このすべてが既存のソフトウェアをより良くしました:-)
    • 多くの人がそのようなアプリケーションを壊そうとします-これは多くのセキュリティ修正を意味します;つまり、アプリケーションはおそらくあなたが長い間書くよりも安全であることを意味します...
  • 既存のオープンソースアプリケーションは数百日分の作業 を表します。
    • あなたは本当にそのような時間を既存の何かに取り組む時間を費やす準備ができていますか?
    • あなたが会社で働いているなら、あなたの会社はあなたに1年間支払う準備ができていますか? またはおそらくそれ以上? すでに存在するものに取り組んでいますか?
    • あなたは私を信じていませんか?このブログ投稿をお読みください: Code:It's Trivial ;それはスタックオーバーフローに関するものですが、ウェブメールソフトウェアの場合もまったく同じです(ただし、スタックオーバーフローの方がより新しい-であり、コードコントリビューターの数が少ない可能性がありますが、それは単なる推測です^^

補足として:あなたの会社がgmailのクローンを構築することを望んでいる場合、あなたはをしません(同じこと:何人の人々がGmailで働いていましたか?あなたの会社は何人のプログラマーを持っていますか?あなたの会社はこれにどれだけ費やすことができますか? ) ...
そして、毎年わずか数ドルで、あなたの会社は従業員ごとに "専門家" Googleアカウントを持つことができます...


結局のところ、LA *(M)* Pスタックを使用してカスタムの手作りウェブメールを作成する必要がある場合は、少なくとも次のことを知っている必要があります。

  • PHPでプログラミングする方法
  • IMAPの基本(ライブラリ/フレームワークを使用する場合でも、このような大きなアプリケーションでは、基になるプロトコルについての知識が必要になるか、何かが「なぜ」または「どのように」問題が発生したのか理解できません)
  • HTML/CSS/Javascript (AJaxについてある程度の知識があれば-さあ、2009年です!)
  • したがって、アプリケーションの保守が簡単になります(そして、ものを追加/再処理/変更してバグを修正することも可能です)、おそらくいくつかのフレームワークを使用し、いくつかの設計パターンとベストプラクティスに従ってください
    • 例として、 symfony または Zend Framework のようなフレームワークを確認できます。
    • はい、フレームワークなしで、またはMVCなしでアプリケーションを開発できます...しかし.. ergh ...

これはすべて問題ではないことを考慮します(これがまったく上手ではなく、かつ/または多くの経験がない場合、それを取得するには少なくとも数年かかる可能性があります...プログラミングとWebを考慮する-developingはフルタイムのアクティビティです)、たとえばIMAPを使用してメールサーバーへのアクセスについていじくり始めることができます。

ここにはいくつかの可能性があります。
少なくともこの2つを選択する前に、次の2つを見てみましょう。


アプリケーションが完成したら、(うまくいけば!)ユーザーの獲得を開始します。つまり、少なくとも3つのことを意味します。

  • バグレポート;それらはほとんど常にrgentユーザー向け-「OMGもう何も機能しないことがわかりません。今すぐメールを取得しなければなりません!
  • 進化の要求:ユーザーは常に「私の個人アカウントのGmailでそれを見ました。企業アカウントでもそれがないのはどうしてですか?これは私たちが使用するツールです!
  • "これは遅すぎる、私は働けない!";次に、アプリケーションを設計/開発するときに、スケーラビリティと最適化について考えてください。

ここでも、あなたはそれに対処する準備ができていますか?


まあ、私は十分言ったと思います。今、考える時間です:そのようなアプリケーションをゼロから開発することを本当に望んでいますか?

少し自由な時間があれば、おそらく、既存のオープンソースプロジェクトに参加できますか?誰にとっても有益かもしれません;-)


最後に、最後にもう1つ:このようなプロジェクトに楽しみのためだけに取り組みたい、プロジェクトの内容を知りたい、そしてWeb開発の詳細を知りたい場合は、実行してください!
(私の意見では、おそらくこれに取り組むことを正当化する唯一の理由です)


とにかく、頑張ってください!そして/または楽しんでください!

84
Pascal MARTIN
  1. Webスタックを学ぶ:HTML、javascript、php、mysql ...
  2. いくつかの小さなプロジェクトを書く
  3. より経験豊富な人々から学ぶためにどこかに雇われる
  4. OOP、設計パターン、ベストプラクティスなどを学ぶ
  5. 数年間学んだことを応用する

ポイント5を通過すると、ビルド方法がわかります。

29
Paul Grigoruta

PHP [〜#〜] imap [〜#〜] 関数を使用すると、簡単なものを簡単に作成できますが、質問する必要がある場合は、少し複雑です。

ビルド済みのものの使用を検討しましたか?

7
Greg

それは大きな質問です!

主なオプションは
1。コードを既存のメールサーバーと直接統合する
2。 IMAPとSMTPを使用して既存のメールサーバーと通信する

必要に応じてメールサーバーを変更できるため、2番が最も簡単です。

はい、あなたが行くにつれて考慮すべきことがたくさんあります

1
Dave Archer

Gmailなどの外部メールサービスを使用していない場合は、メールを保存して送信するように独自のサーバーを設定する必要があります。 チュートリアルはこちら Postfix(メール送信用)とDovecot(IMAP経由でメールにアクセスするため)を使用する場合。このチュートリアルでは、SquirrelMailでのウェブメールシステムの設定についても説明します。これを行うこともできますし、独自のシステムを開発したい場合は、PHPアプリケーションを作成してメールにアクセスすることもできます。

幸運を!

0
DLH

POP経由でアクセスできるメールアカウントを設定します(例:gmail)。次に、PHP IMAP関数を使用して、POPプロトコル経由で電子メールを取得します(POPはおそらくIMAPよりも簡単です)( http://us2.php.net/imap ) 。メールを送信するには、PHPメール関数( http://us2.php.net/mail )を使用)。

0
pbreitenbach

最も明白な答えは "great"です。

同意する。私たちが行き詰まっている現在のいわゆる最もセクシーなインターフェースでは、別の何かが必要であることは明らかです。ホイールを発明したいと思う人のために:私はしません!新しいWebサイトをインストールしたばかりで、その結果に非常に満足しています。私は基本的に何千時間もの無料の開発者の仕事を使用し、以前に行われた何かを再発明することを嫌がっていました。私は今持っているものの10%のウェブサイトを思いつき、10倍長く費やしたでしょう。レイアウトは素晴らしいです、機能性は素晴らしいです。私は認証、Facebookタイプのソーシャルネットワーク、私と私の家族がファイルを保存するためのプライベートエリア、議題、写真とビデオのサポート、YouTubeの統合、Facebookの統合などを持っています...さらに多く、ゲームを追加します、などほとんどすべて無料です(Facebookタイプのソーシャルネットワークに約100 USDを費やしました)。方法:joomla。オープンソース、プラグインのロード。何十万もの開発者の仕事、デザイナーの仕事、テスターなど。私は自分でこれを行うことはできず、私が永久に支払うこともできません。しかし、それは無料ですので、私はする必要がありませんでした。ちなみに、joomlaは多くのオープンソースcmsの1つにすぎません。

私が見つけられないのは、「セクシー」で、cmsシステム内に適切に統合されている適切なWebベースの電子メールクライアントです。私は私の素晴らしいウェブサイトに接続するために、ラウンドキューブラッパーを見つけて購入しました。しかし、残念なことに、この非常に古く見えたがらくたの電子メールWebクライアントは、正しくありません。遅いし、やりとりはばかげている。モバイルデバイスで動作させるには、高価なテンプレートを購入する必要がある。それはちょうど収まりません。それは古く見えます。

Joomlaには、適切なウェブサイトに必要なすべての無料のもの、プラグイン、認証、アドレス帳、多言語、テンプレート、モバイルデバイスサポートが付属しています。それをすべて一緒に接着するための少しの努力が必要です(ソフトウェア開発なし)。

次に、プラグインを使用してメールサーバーとやり取りし、すぐにこれを実行します。

再発明しないでください、しかし落ち込んでもいけません。

0
Jo Witters