2017-04-07 73 views
0

我是非常新的drupal表单,但已设法设置drupal_mail函数,在提交后,用正确的$subject消息和$from电子邮件地址向所需位置发送电子邮件。然而,这并不是传递信息的主体。我搜索/尝试了很多东西,但似乎没有抓住正确的价值。任何人都可以看到为什么?在此先感谢您的帮助。为什么我的邮件正文并未在drupal_mail()中发送?

function drupalform_menu() { 
$items['drupalform/form1'] = array(
    'type' => MENU_CALLBACK, 
    'access arguments' => array('access content'), 
    'page callback' => 'drupal_get_form', 
    'page arguments'=>array('drupalform_form1')); 

    return $items; 
} ?> 


<?php function drupalform_form1() { 
$form = array(
    '#prefix' => '<div id="contact-form" class="row section"><div 
class="container">', 
    '#suffix' => '</div></div>', 
); ?> 


    <?php $form['name']=array(
    '#prefix' => '<div class="col l5 s12">', 
    '#type'=>'textfield', 
    '#title'=>t('FIRST & LAST NAME'), 
); ?> 

<?php $form['email']=array(
    '#suffix' => '</div>', 
    '#type'=>'textfield', 
    '#title'=>t('EMAIL'), 
); ?> 

<?php $form['message']=array(
    '#prefix' => '<div id="form-message" class="col l5 push-l1 s12 ">', 
    '#type'=>'textarea', 
    '#title'=>t('MESSAGE'), 
); ?> 

<?php $form['submit']=array(
    '#suffix' => '</div>', 
    '#type'=>'submit', 
    '#value'=>t('SEND MESSAGE') 
); 

    return $form; ?> 


<?php } ?> 


<?php 

function drupalform_form1_submit($form, $form_state) { 
$to = "[email protected]"; 
$from = "[email protected]"; 
$subject = "New message from the Louisville Digital Inclusion Site"; 
$body = $form_state['values']['message']; 


$params = array(
    'subject' => $subject, 
    'body' => $body, 
    ); 

drupal_mail('test', 'information', $to, language_default(), $params, $from); 

drupal_set_message("Form has been submitted"); 
} 


function test_mail($key, &$message, $params) { 
switch ($key) { 
case 'information': 
    $message['subject'] = $params['subject']; 
    $message['body'] = $params['body']; 
break; 
} 
} 

?> 

回答

0

明白了!我不得不改变我test_mail功能如下:

function test_mail($key, &$message, $params) { 
switch ($key) { 
case 'information': 
$message['subject'] = $params['subject']; 
$message['body'][] = $params['body']; 
break; 
} 
} 

我需要$message['body'][] = $params['body']后添加空的方括号。

相关问题