Как послать автоматизированные электронные письма каждому пользователю об их содержании в Drupal

У меня есть территория Drupal, которая позволяет пользователям создать счет и издать их собственное содержание. Однако, я пытался в течение многих часов без удачи попытаться настроить почтовый сервис, который посылает электронное письмо всем пользователям с содержанием каждую неделю, например. Электронная почта покажет им, сколько поражает страница, их содержание имеет. Любая помощь будет очень цениться! Аплодисменты

3
добавлено
Просмотры: 2
nl ja de
можно ли указать на конкретные проблемы, с которыми вы сталкиваетесь..., похоже, что вы хотите достигнуть большого количества вещей. как к крону установки, как собрать соответствующие данные (каковы те соответствующие данные?), то, как послать электронное письмо, используя drupal, может вы разделять свой вопрос в к более конкретным вопросам так его более легкое, чтобы дать ответ. Если вы обеспокоены работой и перерывами, упоминаете их также.
добавлено автор D34dman, источник

2 ответы

Я думаю в этом случае, что необходимо использовать правила Drupal modeule.

0
добавлено

Меня и моего коллегу нашли решение. Мы сначала создали правило, которое будет работать на работе крона выполнить обычай PHP ниже.

$type = '';

$articles = db_select('node')
->fields('node', array('nid', 'title'))
->condition('type', $type, '=')
->execute()
->fetchAllKeyed();

$nodes = array();
foreach ($articles as $nid => $title) {
    $nodes[] = node_load($nid);
}

$checked = array();

foreach($nodes as $node) {
    if(!in_array($node->nid, $checked)) {
        $statistics = statistics_get($node->nid);
        $email = $node->field_email['und'][0]['email'];
        $subject = 'Content view update';
        $headers = 'From: [email protected]' . "\r\n" .
        'Reply-To: [email protected]' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

        $message =   'Hi,
        Your content has been viewed ' . $statistics . ' times';

        global $language;
        $params['subject'] = t($subject);
        $params['body']    = array(t($message));

        drupal_mail('smtp', 'smtp-test', $email, $language, $params);
        $checked[] = $node->nid;

    }
}

Петли сценария PHP через все таможенные узлы содержания с типом , $type и восстанавливает название, электронную почту и статистику тогда, посылают информацию по электронной почте владельцу содержания.

Если у кого-либо есть лучшее решение, пожалуйста, можете вы комментировать.

0
добавлено