質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.00%

メール問い合わせ管理システムの構成案

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,194

pack

score 194

前提・実現したいこと

顧客管理システムとして、以下の事を検討しております。
質問の意図としては、システム構成の方向性として良いかどうか、ご意見を伺いたいです。

  • 顧客からの問い合わせを管理できるWEBシステムを作りたい(CakePHP)
  • 入口 - 問い合わせフォーム、メール(info@example.com)
  • 出口 - メール返信(info@example.com)
  • やり取りの履歴をDBに格納し、管理したい
  • 返信作成もWEBシステム画面上で行いたい 
  • システムはレンタルサーバーに設置(Xserver)
  • Xserverでは、メール受信をフック処理できるようなものは無い模様
  • 自前でメールサーバーとなると、管理、迷惑メール対策など工数がかかりそうなので、レンタルサーバー、及び、Google様の力を借りたい

構成案

受信メールの取得
  • ドメインは、メール、WEBともにXserverに振る。
  • Xserverでinfo@example.comのアカウントを作成
  • Gmailで受信
  • GoogleAppsScriptで、受信をトリガにして、CakePHPへのPOSTできるような仕組みを用意しておく。
  • CakePHPで問合せの履歴をDBに格納
返信
  • CakePHPで返信作成フォームを作る
  • 送信案1 CakePHPのEmailコンポーネントで送信
  • 送信案2 GoogleAppsScriptで送信できる仕組みを用意しておいて、それをCakePHPから叩く。

以上のような、構成案を考えました。
GoogleAppsScriptは全くの未経験で、採用するとなれば、これから学習する必要があります。

もし、「他にもこんなのがあるよ」というのがあれば、伺いたいです。

また、将来的には、入口、出口、ともに増やしていけるような拡張性についても、ご意見があれば、伺いたいと思います。
例えば問い合わせ窓口として、Facebook、LINEなどのようなSNSサービスを追加していくような場合です。

画面上では、それらが同列に並び、管理側はどこから入ってきたかの違いを意識する事無く対応できるようなものにしたいです。

「○○には各種SNSのAPIを扱うライブラリが揃ってるよ」
「そういったAPIの窓口となってくれる外部サービスがすでにあるよ」

といったものがあればいいなという思いです。

追記

改めて調べて知ったのですが、GmailもAPIが公開されたとの事で、そういったライブラリなどの中にGmailも含まれていれば、いろいろ一気に解決できるのでは?という期待もあります。

質問自体の趣旨が、「ライブラリ教えて」「サービス教えて」になってしまいそうで恐縮ですが、もしパッと思いつくものがあれば、教えていただければと思いますし、開発の方向性として他、意見がございましたら、伺えればと思います。

以上、よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2016/09/20 13:05

    例示用ドメインはご自身で所有されていない限りexample.comを利用してください。

    キャンセル

  • pack

    2016/09/20 13:08

    ご指摘ありがとうございます。修正いたしました。

    キャンセル

回答 3

+3

否定的に聞こえるかもしれませんが、作る理由は何なんでしょうか。

メールワイズ や Mail Dealer といった既存のプロダクトで用は足りてしまうような気がします。

開発するにしても、GMailとの連携や外部連携の拡張性などを踏まえると Zapier のようなAPIハブサービスを利用していくことも選択肢になるかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/20 16:46

    すみません。判断基準という所で、付け加えておきますと。
    業務フローとして、出口が増えた時に、対応できるかどうかが大きいですね。

    質問をシンプルにしようと思って、余計な事書かずに「顧客管理」「メール問い合わせ管理」という言葉を便宜的に使いましたが、そこだけがメインではないので。
    質問の書き方が、不明確で申し訳なかったです。

    例えばですけど、問い合わせを基に何かを発送する、アポを取ってそれを記録する、とかですね。
    「やり取り」の中には、そういったものも含まれてくる場合もあるという事です。
    ほんとごめんなさい。今現在そういった案件があるとかでは全然なく、可能性として書いてるだけですが。

    がわの部分と、内部構造が分離されてて、メール処理は全部そっちに任せて、APIで手軽にデータが取り出せて、みたいなのがあれば、利用料が多少高くても喜んで使うんですけどね。
    私も、そんな所に時間掛けたくないので。

    キャンセル

  • 2016/09/20 17:06

    まあたぶんそういうことだよなあと思ったので作るんですかという質問でした。

    そうなるとCRMとかSFAとの連携が肝になってきますのでAPIハブを中心として様々な外部ツール(自作ツールのWebフックを含む)として、

    - 様々な入力をうけとり、
    - 任意のWebフックにデータをおくり、
    - レスポンスをとりまとめてコントロールする

    といったあたりが作るべく箇所となるんではないでしょうか。

    キャンセル

  • 2016/09/20 17:46

    CRMなんかは、APIを用意してくれてる所が多いので、どこを自前で作るのか、どこを外部サービスに頼るのか、そういった選定が特に重要ですね。

    いかんせん、そういった引き出しが自分の中にまだ無いので、なかなかパッパッと選べるものではないですが。

    そういったものは、どちらかというと経営判断になってくるのでしょうね。
    当然、この場ではCRMサービスを紹介して欲しいという質問ではないので、そちらも引き続き検証してみます。

    ご指導、ありがとうございます。

    キャンセル

+3

CakePHPのEmailコンポーネントでメール送信するのはさして難しいことではないと思います。
ただ、メールサーバーやDNSの設定はちゃんとされていないと届いた届かないの問題はあると思いますが、それは何を使っても同じでしょう。

受信は少々面倒ですが、メール受信をフック処理ができないようであれば、POP3経由などでcronなどで定期的に取得処理をすればよいように思います。ライブラリはいろいろありますのでそれらを使えばそう難しくはないと思います。
1分に1回程度ならはじかれることもないでしょうし、そこまでリアルタイムに受信処理をしなければならないということもないと思います。

Facebook、LINEなどのようなサービスとの連携については、メール送受信のレベルでは正直、全く関係ないと思います。何をしたいのか具体的にわからないと返答にしようがありません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/21 07:40

    ご回答ありがとうございます。

    「メール扱うの大変そうだな。迷惑メールいっぱい来るんだろうな」というどうしても苦手意識に近いものがあり、当初より「まず受信はGmailで」という考えがありました。

    POP3で取得するライブラリなども、調査してみようと思います。

    外部サービスとの連携について、ご指摘ありがとうございます。
    質問文も修正いたしました。後半部分、改めてご確認いただければと思います。

    そういったものを、プログラム的にも同列に扱えるものがあれば便利だなと思い、質問いたしました。

    キャンセル

checkベストアンサー

0

CakePHPのEmailコンポーネントは十分に使えると思います。
が、もしリッチコンテンツ(HTMLメール、添付ファイルなど)を扱いたいのであれば、相手方のメールクライアント・メールサービスの違いによるメールの文字化けや表示崩れなどを防ぐための作り込みは結構手間がかかると思います。
また、将来的にFacebookやLINEなど様々なインターフェースに対応したいとのことですので、
送信も受信もRESTfulなGmailのAPIを使用するのがベターではないでしょうか。
上記のようなメールのフォーマットの違いをGmailが吸収してくれますし、メッセージの送受信部分の実装を汎用的にしやすくなると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/26 21:59

    ありがとうございます。

    なんだか、メール面倒くさいという意識から、二の足を踏んでしまい、背中を押してもいたいが為の質問みたいになってしまいましたが。

    GmailのAPIがあると分かった時点で、まずは「それで、何を、どこまでできるか」を調査するしか、やる事は残ってないですよね。
    それを調査したうえで、やりたい事が出来るか出来ないか。まずはそこからですね。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.00%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる