PHP を使用して Web ベースの電子メール クライアントを構築するにはどうすればよいですか?
-
11-09-2019 - |
質問
PHP で Web ベースの電子メール クライアント (yahoo や Gmail と同様) を構築する方法を学びたいと考えています。
これを始める方法を知っている人はいますか?
私のシステムで電子メールを送受信できるようにしたいと考えています。
解決
最も明白な答えは「しないでください" :すでに多くの Web メール ソフトウェアが存在しており、その一部は PHP ベースです (たとえば、LAMP スタックに基づくサーバーがすでにあるため、PHP の使用に依存している場合).
いくつかの名前だけを引用しますが、すべて PHP ベースなので、次の名前を参照してください。
- リスメール :かなり古いもので、あまりセクシーではありません...しかし、何年もその仕事をしてきた
- 大群インプ :知名度も高く、非常に強力です
- ラウンドキューブ :おそらく私が試したリストの中で最も「セクシー」で「ウェブ 2.0」
- アットメール :これは使ったことがないので、これ以上は言えませんが…
私はかなり長い間、リストの最初の 3 つを使用してきました。ラウンドキューブは間違いなく最高でした。」使いやすい"、私は言うだろう...
(少しグーグルすると、他にもたくさん見つかるかもしれませんが、最もよく使用されるものについては話したと思います)
さて、もしあなたが しなければならない たとえば、あなたの会社用に Web メールを設定します。間違いなく 既存のソフトウェアを使用する :
- 既存のソフトウェアはかなり難しいだろう」良い" すでに :
- 多くの人が使っているということは、「」という人も多いということです。これはもっと良くできるかもしれない"、 または "それはユーザーフレンドリーではありません"、 または...要点はわかります。これらすべてが既存のソフトウェアを改善しました :-)
- 多くの人がそのようなアプリケーションを壊そうとしたでしょう。つまり、多くのセキュリティ修正が必要であり、アプリケーションはおそらく長い時間をかけて作成したものよりも安全であることを意味します...
- 既存のオープンソース アプリケーションは、 何百日もかかる仕事
- すでに存在するものにそれだけの時間を費やす準備は本当にできていますか?
- 会社で働いている場合:あなたの会社はあなたに1年間分の給料を支払う準備はできていますか? あるいはおそらくそれ以上でしょうか? すでに存在するものに取り組んでいますか?
- 私を信じないのですか?このブログ投稿を読んでください: コード:それは些細なことです ;これは stackoverflow に関するものですが、Web メール ソフトウェアについてもまったく同じです (stackoverflow がより新しいものであることを除いて --) おそらくコードの貢献者も少なかったでしょう。しかし、それは単なる推測です^^ )
補足として:会社が Gmail のクローンを構築することを要求しても、それはできません (同じこと :何人が Gmail で作業していましたか?あなたの会社にはプログラマーが何名いますか?あなたの会社はこれにどれくらい費やすことができますか?)...
そして、毎年わずか数ドルで、あなたの会社は「専門的な「ところで、Google アカウントは従業員ごとにあります...
これらすべてを行った後でも、LA*(M)*P スタックを使用してカスタムの手作り Web メールを作成したい、または作成する必要がある場合は、少なくとも次のことを知っておく必要があります。
- PHPでプログラミングする方法
- IMAPの基本 (ライブラリ/フレームワークを使用する場合でも、このような大規模なアプリケーションでは、基礎となるプロトコルについてある程度の知識が必要になります。そうでないと、「なぜ」または「どのように」問題が発生したのかを理解することはできません)
- HTML / CSS / JavaScript (AJax についてある程度の知識があれば -- さあ、今は 2009 年です!)
- したがって、アプリケーションの保守が容易になります (追加/再加工/修正やバグの修正も可能です), おそらく、何らかのフレームワークを使用し、いくつかの設計パターンとベスト プラクティスに従うことになるでしょう。
- 例として、次のようなフレームワークを見てみましょう。 シンフォニー, 、 または Zend フレームワーク
- はい、フレームワークや MVC がなくてもアプリケーションを開発できます。しかし.. えーっと...
これらすべてを考慮しても問題はありません (これがまだ十分ではない場合、またはあまり経験がない場合は、それを習得するまでに少なくとも数年かかる可能性があります...プログラミングと Web 開発がフルタイムの活動であると考えてください), にアクセスすると、IMAP などを使用してメール サーバーにアクセスする方法を検討できます。
ここにはいくつかの可能性があります。
選択する前に、少なくとも次の 2 つを確認します。
- PHP IMAP 拡張機能
Zend_Mail
;ところで、Zend Framework の外でも使用できるかもしれません。
申請が完了したら、 (うまくいけば !) ユーザーの獲得を開始します。これは少なくとも 3 つのことを意味します。
- バグレポート;それらはほとんどいつもです 緊急 ユーザー向け -- のような「ああ、もう何もうまくいかない、今すぐメールを受け取らなければなりません!"
- 進化のリクエスト:ユーザーは常に「」のようなものをもっと求めています。私の個人アカウントの Gmail でそれを見ました。私たちの企業アカウントにもそれがないのはなぜですか?それは私たちが仕事をするために使うツールです!"
- "遅すぎて仕事ができません!" ;それから、アプリケーションを設計/開発するときに、スケーラビリティと最適化について考えたことを祈ります。
もう一度言いますが、それに対処する準備はできていますか?
まあ、もう十分言ったと思います ;さあ、次のことを考えてみましょう。本当にそのようなアプリケーションを最初から開発したいですか、または開発する必要がありますか?
少しでも暇な時間があれば、 もしかしたら、既存のオープンソース プロジェクトに参加できるかもしれません。 それは誰にとっても利益になるかもしれません ;-)
最後に、最後にもう 1 つ: 単に楽しみのためにそのようなプロジェクトに取り組みたい、それがどのようなものかを知りたい、Web 開発について詳しく知りたいのであれば、ぜひ実行してください。
(私の意見では、これがおそらくこれに取り組むことを正当化する唯一の理由です、ところで)
とにかく、頑張ってください!そして/または楽しんでください!
他のヒント
- Web スタックについて学びます。HTML、JavaScript、php、mysql...
- いくつかの小さなプロジェクトを書く
- どこかに雇われて経験豊富な人から学ぶ
- OOP、デザインパターン、ベストプラクティスなどを学ぶ
- 数年間学んだことを応用する
ポイント 5 を通過すると、構築方法がわかります。
HUGE質問ザッツ!
あなたの主なオプションは
です
1.直接既存のメールサーバーを使用してコードを統合
2.既存のメールサーバーとの通信にIMAPとSMTPを使用して
ナンバー2が最も簡単です。
とはいあなたが行くように考慮することがもっとたくさんあります。
POPを介してアクセスすることができる電子メールアカウントを設定します。そして、(POPは、おそらくIMAPよりも簡単です)POPプロトコル経由で電子メールを取得するために、PHPのIMAP機能を使用します(ます。http:// us2.php.net/imapする)。メールを送信するために、PHPのメール機能を使用します( http://us2.php.net/mailする)ます。
あなたが保存し、電子メールを送信するために、独自のサーバを設定する必要があります(Gmailなど)外部のメールサービスを使用していない場合。 ここ(のために(メールを送信する)にPostfixを使用するためのチュートリアルにあるとのDovecot )IMAP経由でメールにアクセスします。 また、このチュートリアルでは、SquirrelMailの中にWebメールシステムの設定について説明します。あなたは本当にあなたがあなたのメールにアクセスするためのPHPアプリケーションを書くことができ、独自のシステムを開発したい場合は、この操作を行う、または可能性があります。
グッドラック!
ほとんどの明白な答えは、 "のの偉大" でなければなりません。
私は同意するものとします。我々が立ち往生している現在、いわゆる-最もセクシーなインターフェイスでは、それは我々が別の何かを必要とする明らかです。これらの思考のために私はホイールを発明したい:私はしないでください!私はちょうど新しいウェブサイトを設置して、私は結果にとても満足しています。私は基本的に自由に開発者の仕事の時間の1000を使用し、再発明する前に行われていた何かを、1000倍より良いことを憎むでしょう。私は私が今持っているでしょうし、10倍の時間が費やすだろう何のウェブサイトの10%を思い付くでしょう。レイアウトは、機能は素晴らしいです、素晴らしいです。私は、ファイル、議題、写真やビデオのサポート、ユーチューブの統合、Facebookとの統合を保存するために私と私の家族のための認証、ソーシャルネットワークのFacebookの種類、プライベートエリアがあり、...私はより多くを持って、私はゲームを追加しますなどの自由のためのほとんどすべての(私はFacebookのタイプ・オブ・ソーシャルネットワーク上で約100ドルを費やしました)。方法:joomlaの。オープンソース、プラグインのロード。開発者の仕事の何千人も、設計者が働く、テスターなどの100Sは、私はこれを自分で行うことができないだろう、どちらも私が今までに支払うことができるでしょう。しかし、それは無料ですので、私はする必要はありませんでした。ちなみに:joomlaの一つだけ多くのオープンソースCMSのです。
。私は何を見つけることができないことは「セクシー」で、適切なウェブベースの電子メールクライアントであり、これは、CMSシステム内で適切に統合されています。私は私の素晴らしいウェブサイトにプラグインするために、roundcubeラッパーを見つけて購入しました。しかし、残念ながらこの非常に古いに見える-がらくた - 電子メールのWebClientはちょうどではありません。それはあなたがそれをモバイルデバイスで動作させるために高価なテンプレートを購入する必要があり、相互作用は愚かである、遅いです。それはちょうどにフィットdoes't。それは古い見えます。
Joomlaのは、無料のもの、プラグイン、認証、アドレス帳、マルチ言語、テンプレート、モバイルデバイスのサポート、あなたが適切なウェブサイトのために必要なすべての多くが付属しています。ただ、一緒に(何のソフト開発を)それをすべてを接着しないための努力のビットを必要とします。
さて、私はその後、私のメールサーバと対話するプラグインで動作します私はこの時間がない中で行われています。
は、再発明しないでください、しかし、落ち込んで取得しないでもない。