2009-03-13 32 views
12

Tôi đã tự hỏi liệu có ai đó có thể giúp tôi không. Trong một số ứng dụng web, ứng dụng sẽ gửi email, cho biết thời điểm một tin nhắn mới đã được đăng. Sau đó, thay vì đăng nhập vào ứng dụng để đăng trả lời, bạn có thể chỉ cần trả lời email và nó sẽ tự động cập nhật ứng dụng web với câu trả lời của bạn.Tích hợp email

Câu hỏi của tôi là, cách thực hiện điều này và nó được gọi là gì?

Cảm ơn

Trả lời

7

chung:

1) Thiết lập một tài khoản email dành riêng cho mục đích này.

2) Có một chương trình giám sát hộp thư (giả sử fetchmail, vì đó là những gì tôi làm).

3) Khi email đến tài khoản, fetchmail tải xuống email, ghi vào đĩa và gọi tập lệnh hoặc chương trình bạn đã viết bằng tệp email làm đối số.

4) Tập lệnh hoặc chương trình của bạn phân tích cú pháp email và thực hiện hành động thích hợp.

Phần thường bí ẩn đối với mọi người là phần fetchmail (# 2).

Cụ thể trên Mail Servers(khi và chỉ khi bạn kiểm soát các mailserver đủ để chuyển hướng email đến các kịch bản):

1-3) Cấu hình một địa chỉ để được đường ống để một kịch bản bạn đã viết.

4) Tương tự như trên.

1

Một công cụ phổ biến được sử dụng cho mục đích này là procmail.

Bạn cần thiết lập địa chỉ email chuyên dụng (là địa chỉ "from_email" trong email gửi đi của bạn). Sau đó, MTA của bạn, chẳng hạn như postfix hoặc qmail, sẽ gửi thư đến địa chỉ đó tới procmail thay vì một hộp thư thực.

Procmail sau đó có thể chuyển email vào tập lệnh python của bạn có thể cập nhật trong ứng dụng. Xem standalone django scripts bởi James Bennett về cách mã các tập lệnh python có thể hoạt động với ứng dụng của bạn.

4

Từ thẻ của bạn, tôi sẽ giả sử bạn đang muốn làm điều này trong Django.

Có một ứng dụng được gọi là jutda-helpdesk thực hiện chính xác những gì bạn đang tìm kiếm bằng cách sử dụng poplib, có nghĩa là bạn chỉ cần thiết lập địa chỉ email tương thích POP3.

Hãy xem get_email.py của chúng để xem cách chúng thực hiện. Bạn chỉ cần chạy tập lệnh này từ cron.

5

Bạn nên xem Lamson; nó sẽ cho phép bạn làm những gì bạn đã mô tả, và hơn thế nữa.

+0

Dường như đã chết – Julien