Отправить e-mail с вложением (аттачем)
Пример кода, который создаёт форму для загрузки файла с последующей его отправкой на ящик to@example.com:
/**
* Form builder
*/
function mymodule_send_form($form, $form_state) {
$form['attachment'] = array(
'#type' => 'file',
'#title' => 'Attachment',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Send',
);
return $form;
}
/**
* Validate callback
*/
function mymodule_send_form_validate($form, &$form_state) {
if ($file = file_save_upload('attachment', array(), 'temporary://')) {
$form_state['values']['attachment'] = $file;
}
else {
form_set_error('file', 'File not uploaded.');
}
}
/**
* Submit callback
*/
function mymodule_send_form_submit($form, &$form_state) {
drupal_mail(
'mymodule',
'send_attachment',
'to@example.com',
language_default(),
array('attachments' => array($form_state['values']['attachment']))
);
}
/**
* Implements hook_mail().
*/
function mymodule_mail($key, &$message, $params) {
if ($key == 'send_attachment') {
$message['subject'] = 'Mail with attachment';
$message['body'][] = 'Body...';
}
}
Для работы требуется модуль Mime Mail версии больше 7.x-1.0-alpha1.
Написанное актуально для
Drupal 7
Комментарии:
Нету комментариев для вывода...