2017-04-07 14 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']後に空の括弧を追加する必要がありました。

関連する問題