php – drupal 7:邮件已发送,但正文和主题都是空的
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – drupal 7:邮件已发送,但正文和主题都是空的,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3094字,纯文字阅读大概需要5分钟。
内容图文
![php – drupal 7:邮件已发送,但正文和主题都是空的](/upload/InfoBanner/zyjiaocheng/816/13f711713c5644e49af2bd85fd785ef4.jpg)
我正在尝试使用Drupal 7发送电子邮件.电子邮件将发送到我的电子邮件帐户,但不知何故,正文和主题是空的.请帮我解释原因.非常感谢你.
以下是我的代码:
这是表格
function get_friendform($form,&$form_submit){
$form['fullname'] = array(
'#title' => t('Your Full Name: '),
'#type' => 'textfield',
'#required' => TRUE,
'#size' => 30,
);
$form['email'] = array(
'#title' => t('Your Full Email: '),
'#type' => 'textfield',
'#required' => TRUE,
'#size' => 30,
);
$form['friend_email'] = array(
'#title' => t('Your Friend Email: '),
'#type' => 'textfield',
'#required' => TRUE,
'#size' => 30,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'submit',
'#submit' => array('sendform_form_submit')
);
return $form;
}
function sendform_form_submit($form,&$form_submit){
$fullname = $form_submit['values']['fullname'];
$email = $form_submit['values']['email'];
$friend_email = $form_submit['values']['friend_email'];
$current_page = $GLOBALS['base_url'] .'/'.current_path();
$mailto = 'thelinhuk@gmail.com';
$mailfrom = 'thelinhuk@yahoo.com';
$subject = "Links to event";
$body = $current_page;
$params = array(
'body' => $body,
'subject' => $subject,
);
if (drupal_mail('get_friendform', 'send_link', $mailto, language_default(),$params,$mailfrom,TRUE)) {
drupal_set_message(t('Your message was sent successfully!!!'));
}
}
function sendform_mail($key,&$message,$params) {
$language = $message['language'];
switch ($key) {
case 'send_link':
$message['subject']=t($params['subject'], $var, $language->language);
$message['body'][]=$params['body'];
$message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed';
break;
}
}
非常感谢你
新代码
function sendform_form_submit($form,&$form_submit){
$fullname = $form_submit['values']['fullname'];
$email = $form_submit['values']['email'];
$friend_email = $form_submit['values']['friend_email'];
$current_page = $GLOBALS['base_url'] .'/'.current_path();
$mailto = 'thelinhuk@gmail.com';
$mailfrom = 'thelinhuk@yahoo.com';
$subject = "Links to event";
$params ='';
$body[] = $current_page;
$mail_message = drupal_mail('send_form', 'some_key', $mailto, language_default(), $params, $mailfrom, TRUE);
$mail_message['subject'] = $subject;
$mail_message['body'] = $body;
$mail_system = drupal_mail_system($module, $key);
$mail_message = $mail_system->format($mail_message);
$mail_message['result'] = $mail_system->mail($mail_message);
}
解决方法:
使用以下代码示例使用drupal发送电子邮件:
$body = array();
$body[] = "Mail body";
$mail_message = drupal_mail($module, $key, $to, $lang, $params, $from, $send);
$mail_message['subject'] = $subject;
$mail_message['body'] = $body;
$mail_system = drupal_mail_system($module, $key);
$mail_message = $mail_system->format($mail_message);
$mail_message['result'] = $mail_system->mail($mail_message);
更新1:
您的代码中存在问题.您已经创建了一个函数sendform_mail(),但您从未调用它.
您可以在表单提交回调sendform_form_submit()中使用上面的代码示例.这更简单
更新2:
$mail_message = drupal_mail('send_form', 'some_key', $mailto, language_default(), $params, $mailfrom, TRUE);
在您的代码中,将最后一个值更改为false,因为您需要将发送的邮件停止到最后一行$mail_message [‘result’].
希望这有效……穆罕默德.
内容总结
以上是互联网集市为您收集整理的php – drupal 7:邮件已发送,但正文和主题都是空的全部内容,希望文章能够帮你解决php – drupal 7:邮件已发送,但正文和主题都是空的所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。