我需要帮助自定义表单,其中不发送电子邮件。
上下文:在Drupal中,我安装了以下模块:PHPMailer,SMTP身份验证支持,邮件系统和Mime邮件。
配置上述模块,您可以选择测试配置,并在预先形成此类测试时正确发送电子邮件。但是,在为表单编写模块时,不会发送电子邮件。
我没有得到任何类型的错误也没有消息。我只是没有收到电子邮件。
以下是我正在使用的剪辑代码:
function application_form_submit($form, &$form_state) {
$subject = "testing web form";
$body = array();
$body[] = "Mail body";
$send = FALSE;
$mail_message = drupal_mail('application', 'apply-jobs', 'email@gmail.com', language_default(), $params = array(), $from = 'user@test.com', $send);
$mail_message['subject'] = $subject;
$mail_message['body'] = $body;
$mail_system = drupal_mail_system('application', 'apply-jobs');
$mail_message = $mail_system->format($mail_message);
$mail_message['result'] = $mail_system->mail($mail_message);
}
建议?
答案 0 :(得分:0)
你有一种奇怪的方法来定义可选参数。这一点:
$from = 'user@test.com'
将评估为......没有
尝试更改drupal_mail()调用,如下所示:
$mail_message = drupal_mail('application', 'apply-jobs', 'email@gmail.com', language_default(), array(), 'user@test.com', $send);
答案 1 :(得分:0)
我找到了问题的解决方案。解决方案是:
邮件系统模块允许每个模块配置邮件系统设置,这意味着我必须为我的自定义模块创建新的邮件系统,以指示我要使用的邮件系统。在我这样做之后,我的所有电子邮件都没有任何问题。
希望这有助于某人,因为关于此的信息非常少。
谢谢大家。