連絡先の設定(Drupalコア)、単純なニュース、および大量の連絡先モジュールを検索しましたが、受信者のユーザー名をメール本文に含める方法が見つかりませんでした。
これを行う方法の提案はありますか?
そのための設定はありませんが、ユーザーが別のユーザーのアカウントの連絡先フォームを使用して別のユーザーにメールを送信すると、Contactモジュールは次で始まるメッセージを送信します(Drupal.orgから自分にメールを送信しました):
キアムラルノ、
kiamlaluno(http://drupal.org/user/55077)がdrupal.orgの連絡フォーム(http://drupal.org/user/55077/contact)からメッセージを送信しました。
そのような電子メールを受け取りたくない場合は、 http://drupal.org/user/55077 で設定を変更できます。
最初の行には、受信者のユーザー名が含まれています。
次のスニペットは、Drupalから送信されたメッセージの一部を変更する関数 contact_mail() に含まれるコードの一部です。
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() を実装している場合、送信された電子メールのコンテンツを変更できます。これは、他のモジュールが連絡フォームを介して送信された電子メールからコンテンツを削除できることを意味します。また、別のモジュールが、最初の行で使用されているユーザー名を、受信者がユーザープロファイルで提供した姓名で置き換えることもできます。