I am developing a Drupal 6 module that should send an email after a form is submitted. So far, I wrote the following code.
function mailform_mail($key, &$message, $params) { $headers = array( 'MIME-Version' => '1.0', 'Content-Type' => 'text/html; charset=UTF-8; format=flowed', 'Content-Transfer-Encoding' => '8Bit', 'X-Mailer' => 'Drupal' ); foreach ($headers as $key => $value) { $message['headers'][$key] = $value; } $message['subject'] = $params['subject']; $message['body'] = $params['body']; } /** * Form submission handler. */ function mailform_form_submit($form, &$form_state) { $valid_email = $form_state['values']['email']; $subject = $form_state['values']['Subject']; $body = $form_state['values']['body']; $params = array( 'email'=> $valid_email, 'body' => $body, 'subject' => $subject, ); // The first argument of drupal_mail() function must match the first part of the hook_mail function. // Therefore the first argument is 'mailform_form' and the the mail hook is 'mailform_form_mail' // For more infoormation see: // - http://api.drupal.org/api/function/drupal_mail/6 // - http://api.drupal.org/api/function/hook_mail/6 if (drupal_mail('mailform','reply', $valid_email, language_default(), $params, $from, TRUE) { drupal_set_message('An email has been sent to ' . $valid_email); } else { drupal_set_message('There was an error sending your email'); } }
Using this code, I can get the values after a form is submitted, but the mail is not sent out.
Is there anything wrong with the code? The module machine name is mailform.