是否有可以与示例源代码有助于发送电子邮件在Drupal 7任意一个帮助与contact_submit功能可使用drupal_mail()。 我使用的是自定义模块:
function contact_menu() {
$items['contact'] = array(
'title' => 'contact form',
'page callback' => 'drupal_get_form',
'page arguments' => array('contact_form'),
'access arguments' => array('access content'),
);
return $items;
}
function contact_form() {
$form['intro'] = array(
'#markup' => t('Use this form to send a message to an e-mail address. No spamming!'),
);
$form['email'] = array(
'#type' => 'textfield',
'#title' => t('E-mail address'),
'#required' => TRUE,
);
$form['message'] = array(
'#type' => 'textarea',
'#title' => t('Message'),
'#required' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}
function contact_validate($form, &$form_state) {
if (!valid_email_address($form_state['values']['email'])) {
form_set_error('email', t('That e-mail address is not valid.'));
}
}
function contact_form_submit($form, &$form_state) {
//What i should write here ???
}
示例模块包含了上手的例子数,包括电子邮件。 看到它在API的网站在这里见drupal_mail()函数来查看功能PARAMS和用户实例,以及功能的使用。
灵性。
放入contact_form_Submit功能
$message = 'New signup email address'; // Body of your email here.
$params = array(
'body' => $message,
'subject' => 'Website Information Request',
'headers'=>'simple',
);
$to = "Your Email Address";
drupal_mail('contactform', 'send_link', $to, language_default(), $params, 'demo@demo.com', TRUE);
和创建新功能
function contact_mail($key,&$message,$params)
{
switch ($key) {
case 'send_link':
$message['subject']=t($params['subject']);
$message['body'][]=$params['body'];
$message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed';
break;
}
}
参考示例模块的电子邮件的例子。 它有最核心的特点一些很好的例子
http://drupal.org/project/examples
您可以在自定义模块内自己选择的挂钩使用此代码:
function yourmodulename_mail($from = 'default_from', $to, $subject, $message) {
$my_module = 'yourmodulename';
$my_mail_token = microtime();
if ($from == 'default_from') {
// Change this to your own default 'from' email address.
$from = variable_get('system_mail', 'admin@yoursite.com');
}
$message = array(
'id' => $my_module . '_' . $my_mail_token,
'to' => $to,
'subject' => $subject,
'body' => array($message),
'headers' => array(
'From' => $from,
'Sender' => $from,
'Return-Path' => $from,
),
);
$system = drupal_mail_system($my_module, $my_mail_token);
$message = $system->format($message);
if ($system->mail($message)) {
return TRUE;
} else {
return FALSE;
}
}
然后你可以这样使用上述函数:
$user = user_load($userid); // load a user using its uid
$usermail = (string) $user->mail; // load user email to send a mail to it OR you can specify an email here to which the email will be sent
customdraw_mail('default_from', $usermail, 'You Have Won a Draw -- this is the subject', 'Congrats! You have won a draw --this is the body');
如果你是新来的Drupal,那么你可以使用内置在PHP中发送邮件,而使用Drupal的功能:
例如:
function contact_form_submit($form, &$form_state) {
to=$user->mail;
$subject="";
$headers="mail-id";
$message="your message here";
$sentmail = mail($to,$subject,$message,$headers);
}