Отправлять почту пользователям, включая имя пользователя получателя


Я искал настройки контакта (в ядре Drupal), Простые новости и модули массовых контактов, но не нашел способа включить имя пользователя получателя в текст письма.

Есть предложения, как это сделать?

 2
Author: jjei, 2011-04-14

1 answers

Для этого нет настройки, но когда пользователь отправляет электронное письмо другому пользователю, используя контактную форму учетной записи другого пользователя, модуль контактов отправляет сообщение, начинающееся с (Я отправил электронное письмо самому себе из Drupal.org ):

Киамлалуно,

Киамлалуно (http://drupal.org/user/55077 ) отправил вам сообщение через вашу контактную форму (http://drupal.org/user/55077/contact) в drupal.org .

Если вы не хотите получать такие электронные письма, вы можете измените свои настройки на http://drupal.org/user/55077.

Первая строка содержит имя пользователя получателя.

Следующий фрагмент кода является частью кода, присутствующего в contact_mail(), функции, которая изменяет некоторые сообщения, отправленные с Drupal.

case 'user_mail':
case 'user_copy':
  $user = $params['user'];
  $account = $params['account'];
  $message['subject'] .= '[' . variable_get('site_name', 'Drupal') . '] ' . $params['subject'];
  $message['body'][] = "$account->name,";
  $message['body'][] = t("!name (!name-url) has sent you a message via your contact form (!form-url) at !site.", array('!name' => $user->name, '!name-url' => url("user/$user->uid", array('absolute' => TRUE, 'language' => $language)), '!form-url' => url($_GET['q'], array('absolute' => TRUE, 'language' => $language)), '!site' => variable_get('site_name', 'Drupal')), $language->language);
  $message['body'][] = t("If you don't want to receive such e-mails, you can change your settings at !url.", array('!url' => url("user/$account->uid", array('absolute' => TRUE, 'language' => $language))), $language->language);
  $message['body'][] = t('Message:', NULL, $language->language);
  $message['body'][] = $params['message'];
  break;

Другие модули могут изменять содержимое отправленных электронных писем, если они реализуют функцию hook_mail_alter(). Это означает, что другие модули могут удалять содержимое из электронной почты, отправленной через контакт форма; это также означает, что другой модуль может заменить имя пользователя, используемое в первой строке, именем и фамилией, указанными получателями в их профиле пользователя.

 2
Author: kiamlaluno, 2011-04-14 19:43:27