2012-01-06 17 views
7

私は基本的なサポート要求システムを構築しています。そこでは、顧客がログインして質問をすることができ、管理者が入り、返信し、ステータスを「応答」に設定し、顧客に電子メールを送って、応答しました。PHP/MySQLチケット応答 - データベースに電子メールを保存する?

私の質問は..管理者と顧客とのやりとりのログである「コメント」セクションがあります。顧客から管理者からの最初の返信メールを受け取った場合、メールから「返信」をクリックして通信を開始し、ログは保存されないという気持ちがあります。

お客様に電子メールで「応答を表示するにはログイン」と答えることもできますし、顧客がヒットした場合は、何とかそれを追跡して、ウェブサイト。それが可能であれば?

これを行うための標準的な方法があるかどうか、またあなたの提案があるかどうかは疑問です。

ありがとうございます!

+1

「本当の」のメールアドレスを使用しないでください。電子メールをチケットシステムにルーティングしてログに記録できるようにする仮想マシンを使用します。 –

答えて

7

電子メールをユーザーに送信するときに、その特定のチケット用に作成された電子メールアドレスから送信することができます。あなたの電子メールシステムでそれを識別して、PHPチケットシステムに戻すのに役立つもの。

サポート(ticketnumber)

[email protected]

@domainそして、それはそこから行くためにどのようにあなたの電子メールサーバーに依存します。 この質問には役立つヒントがいくつかあります。

How to get email and their attachments from PHP

1

あなたは自分の返信が自動的にDBに挿入したい場合は、顧客からの回答が(あなたがありますかどうかを検出するためのPHPスクリプトを実行するサーバーでcronジョブアサインを持っています

お客様がチケットシステムを使用するたびに、電子メールと名前がこの表に表示されます)。

imapまたはSMTP経由で受信トレイに接続する必要があります。これを行うスクリプト(phpmailer、swiftmailerなど)があり、各電子メールを「歩き」、送信者の電子メールが顧客テーブル。次に、コメントテーブルへのINSERT。

Antherの方法は、コメントページが読み込まれるたびに電子メールを読むことですが、これによりページの読み込みに時間がかかることになります。しかし、データは常にcronジョブに比べて「リアルタイム」になります。

+0

お返事ありがとうございます。私はPHPMailerを使用し、SMTP経由で電子メールを送信しますが、電子メールを読んで何が入っているかを確認するためにSMTP経由で接続する方法についてはWeb上で何も見つかりません。私は顧客の電子メールをusersテーブルに保存しています。そのため、PHPmailerを使って顧客からの返信があるかどうかを検出するのに役立ちます。 – Drew

1

メールパイピングを使用することができます(サーバーがサポートしている場合)。

この件名には、チケットIDまたはチケット固有のものが含まれている一意の識別子があります。例:「どのように食べ物を食べますか?[質問:#1234]」、1234はチケットIDです。

コントロールパネルで、電子メール転送スクリプトを電子メール転送スクリプトに設定します。

このチュートリアルでは、電子メールの配管に基礎を提供しています、と私は私の配管スクリプトのベースとしてそれを使用:http://www.damnsemicolon.com/php/parse-emails-in-php-with-email-piping-part-1

関連する問題