Làm cách nào tôi có thể gửi email đến người dùng chưa đăng nhập sau 30 ngày?


7

Tôi đang sử dụng Drupal 7 và tôi muốn gửi email đến những người dùng đã đăng ký chưa đăng nhập vào trang web sau 30 ngày; ví dụ: một email cho biết:

Xin chào người dùng, bạn không đăng nhập kể từ 30 ngày.

Không có cách nào khác ư?

Câu trả lời:


8

Bạn có thể sử dụng mô-đun Rules để làm điều này.

Thực hiện một quy tắc được kích hoạt khi người dùng đăng nhập vào. Hãy chắc quy tắc này lịch gửi e-mail này trong 30 ngày. Hãy để định danh của nhiệm vụ là một cái gì đó như 30-days reminder for [account:uid]. Bằng cách này, nếu người dùng đăng nhập trong vòng 30 ngày tới, tác vụ theo lịch trình sẽ bị ghi đè - đẩy email 30 ngày.

Đảm bảo kích hoạt mô-đun Lập lịch quy tắc.


2
Một loạt các đoạn ghi hình video trên bộ lập lịch Rules giải thích điều này chi tiết hơn: nodeone.se/sv/node/770
Patrick Kenny

@PatrickKenny: lưu ý, liên kết này bị hỏng. Bạn có thể nghĩ về một sự thay thế của nó?
Pierre.Vriens


1

Hãy xem mô-đun Thống kê người dùng , nó có thể là một cái gì đó có thể làm việc cho bạn. Từ trang dự án của mô-đun:

Cung cấp số liệu thống kê người dùng thường được yêu cầu cho người dùng, theo dõi địa chỉ IP và tích hợp Lượt xem. Thống kê là:

  • Ngày đăng ký
  • Tham gia ngày Ngày kể từ lần đăng nhập cuối cùng
  • Ngày kể từ bài cuối

vv và sau đó, bạn có thể sử dụng cronjob để gửi email.


0

Một cách khác sẽ là thực hiện hook_cron. như thế này:

function yourmodulename_cron() {
  $users = database query to get users that have not logged on in the last 30 days
  $queue = DrupalQueue::get('send_maillast30days');
  foreach ($users as $user) {
    $queue->createItem($user);
  }
}

Ngoài ra, bạn sẽ phải thực hiện một hàng đợi bằng hook_cron_queue_info như được hiển thị ở đây:

function yourmodulename_cron_queue_info() {
  $queues['send_maillast30days'] = array(
    'worker callback' => 'yourmodulename_send_email30days',
    'time' => 60,
  );
  return $queues;
}

bạn cũng sẽ phải thực hiện chức năng "yourmodulename_send_email30days": tức là

function yourmodulename_send_email30days($user) {
  //use drupal_mail function to send the mail (see http://api.drupal.org/api/drupal/includes%21mail.inc/function/drupal_mail/7)
}

0

Bạn có thể thử mô-đun người dùng Không hoạt động :

Người dùng không hoạt động
http://drupal.org/project/inactive_user

Mô-đun inactive_user cung cấp cho quản trị viên Drupal cách tự động quản lý tài khoản người dùng không hoạt động. Mô-đun này có hai mục tiêu: để giúp người dùng quay lại trang web của bạn bằng cách nhắc nhở họ khi họ vắng mặt trong một khoảng thời gian có thể định cấu hình và dọn dẹp các tài khoản không sử dụng.


Inactive_user có 0 tài liệu và không làm gì cả.
biển 26.2

inactive_user không được phát hiện và có một số lỗi nghiêm trọng (như gửi thông báo cho người dùng bị chặn)
rfay
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.