Пишу модуль отправки писем в службу поддержки, нужно чтобы копия письма уходила отправителю. Подскажите, как это правильно реализовать, совсем запутался.
<?php
function supportmail_form_submit($form, &$form_state) {
$params['subj2support'] = $form_state['values']['subject'];
$params['msg2support'] = $form_state['values']['message'];
drupal_mail('supportmail', 'send2support', 'example@email.com', 'ru', $params, $form_state['values']['email']);
$params['subj2client'] = 'Копия сообщения:' . $form_state['values']['subject'];
$params['msg2client'] = 'Копия сообщения:' . $form_state['values']['message'];
drupal_mail('supportmail', 'send2client', $form_state['values']['email'], 'ru', $params, 'Support <support@example.com>');
drupal_set_message("Спасибо за обращение в службу поддержки, " . $form_state['values']['user_name'] . ". Ваше соообщение отправлено. ");
}
function
supportmail_mail($key, &$message, $params) {
switch($key) {
case 'send2support':
$message['subject'] = $params['subj2support'];
$message['body'] = $params['msg2support'];
break;
case 'send2client':
$message['subject'] = $params['subject2client'];
$message['body'] = $params['message2client'];
break;
}
}
?>
И еще попутный вопрос, как привести формат получателя к виду "User <user@example.com>
" ? Когда я пытаюсь с помощью конкатенации объединить знаки "<>" с емейлом, ничего не получается...
Комментарии
А модуль http://drupal.org/project/webform ">http://drupal.org/project/webform пробовали использовать?
Пока не пробовал. Дело в том что мне надо засунуть эту форму в появляющееся javascript окно, не уверен что это можно сделать с webform. Да и не хочется устанавливать огромный модуль (350 Kb) ради элементарной отправки емейла из формы. Попробую разобраться сам. Наверно проще написать эту функцию на PHP без использования API друпала
Немного изменил код функций. Не знаю насколько все правильно сделано, но работает, емейлы отсылаются.
<?php
$params['subject'] = 'Копия сообщения:' . $form_state['values']['subject'];
drupal_set_message("Спасибо за обращение в службу поддержки, " . $form_state['values']['user_name'] . ". Ваше соообщение отправлено. ");
function supportmail_form_submit($form, &$form_state) {
$params['subject'] = $form_state['values']['subject'];
$params['message'] = $form_state['values']['message'];
drupal_mail('supportmail', 'send', 'example@email.com', 'ru', $params, $form_state['values']['email']);
$params['message'] = 'Копия сообщения:' . $form_state['values']['message'];
drupal_mail('supportmail', 'send', $form_state['values']['email'], 'ru', $params, 'Support <support@example.com>');
}
function
supportmail_mail($key, &$message, $params) {switch($key) {
case 'send':
$message['subject'] = $params['subject'];
$message['body'] = $params['message'];
break;
}
}
?>
Вопрос с видом адреса пока открыт.