2012-01-06 31 views
7

Tôi đang xây dựng một hệ thống yêu cầu hỗ trợ cơ bản, nơi khách hàng có thể đăng nhập và đặt câu hỏi và quản trị viên có thể vào và trả lời và nó sẽ đặt trạng thái thành "Đã trả lời" và gửi email cho khách hàng để cho họ biết ai đó có đã trả lời.Trả lời vé PHP/MySQL - Lưu trữ thư điện tử trong cơ sở dữ liệu?

Câu hỏi của tôi là .. Tôi có phần "nhận xét" là nhật ký về sự tương tác giữa quản trị viên và khách hàng. Nếu tôi gửi e-mail cho khách hàng phản hồi ban đầu từ quản trị viên, thì tôi có cảm giác họ sẽ chỉ nhấn "Trả lời" từ email của họ và bắt đầu giao tiếp thông qua đó và nhật ký sẽ không được lưu trữ.

Tôi có thể gửi email cho khách hàng và nói "Đăng nhập để xem câu trả lời" hoặc có thể nếu khách hàng trả lời bằng cách nào đó tôi có thể theo dõi và chèn vào bảng nhận xét như họ đã làm từ trang web . Nếu điều đó thậm chí có thể?

Chỉ cần tự hỏi liệu có cách nào tiêu chuẩn để thực hiện việc này và bất kỳ đề xuất nào bạn có thể có.

Cảm ơn!

+1

Không sử dụng 'thực tế' địa chỉ email.Sử dụng những cái ảo định tuyến các email thông qua hệ thống vé của bạn để chúng có thể được ghi lại. –

Trả lời

7

Khi gửi email cho người dùng, bạn có thể gửi email từ địa chỉ email được tạo cho vé cụ thể đó. Một cái gì đó có thể xác định nó với hệ thống email của bạn để giúp bạn định tuyến nó trở lại hệ thống bán vé php.

hỗ trợ (ticketnumber) @domain

[email protected]

Sau đó, nó phụ thuộc vào máy chủ email của bạn làm thế nào để đi từ đó. Có một số mẹo hữu ích trong câu hỏi này có thể giúp hoặc bắt đầu.

How to get email and their attachments from PHP

1

Nếu bạn muốn trả lời của họ để được tự động chèn vào DB, bạn sẽ có một assign một công việc định kỳ trong máy chủ của bạn chạy một kịch bản php để phát hiện xem có thư trả lời từ một khách hàng (bạn cần một bảng liệt kê email và tên của khách hàng.

Mỗi khi khách hàng sử dụng hệ thống vé, email và tên của họ sẽ được đưa vào bảng này).

Bạn cũng cần kết nối với Hộp thư đến của mình qua imap hoặc SMTP và có các tập lệnh để thực hiện việc này (phpmailer, swiftmailer, v.v.) và "đi bộ" qua từng email và xem email người gửi có khớp với bất kỳ email nào của bạn không khách hàng bảng. Sau đó, một INSERT vào bảng bình luận.

Cách chống thư rác là đọc qua email mỗi khi trang nhận xét được tải, nhưng điều này sẽ khiến trang mất nhiều thời gian hơn để tải. Tuy nhiên, dữ liệu sẽ luôn có nhiều "thời gian thực" hơn so với các công việc cron.

+0

Cảm ơn bạn đã phản hồi. Tôi sử dụng PHPMailer và kết nối thông qua SMTP để gửi e-mail, nhưng tôi không thể tìm thấy bất kỳ thứ gì trên web về cách kết nối qua SMTP để đọc e-mail và kiểm tra xem có gì trong đó không? Tôi có email của khách hàng được lưu trữ trong bảng người dùng - vì vậy tôi chỉ cần trợ giúp phát hiện xem có trả lời từ khách hàng với PHPmailer hay không. – Drew

1

Bạn có thể sử dụng đường ống email (nếu máy chủ của bạn hỗ trợ nó).

Trong chủ đề, bạn sẽ có số nhận dạng duy nhất chứa ID vé hoặc thứ gì đó duy nhất cho vé. Ví dụ: "Làm thế nào để ăn thức ăn [Câu hỏi: # 1234]", trong đó 1234 là ID vé.

Trong bảng điều khiển, bạn sẽ thiết lập một giao nhận email cho tập lệnh đường dẫn email của bạn.

Hướng dẫn này cung cấp những điều cơ bản để email đường ống, và tôi sử dụng nó như là cơ sở cho kịch bản đường ống của tôi: http://www.damnsemicolon.com/php/parse-emails-in-php-with-email-piping-part-1

Các vấn đề liên quan