0

我需要一个不发送电子邮件的自定义表单的帮助。

背景:在 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);
}

建议?

4

2 回答 2

0

你有一种奇怪的方式来定义可选参数。这一点:

$from = 'user@test.com'

将评估为...什么都没有

尝试像这样更改您的 drupal_mail() 调用:

$mail_message = drupal_mail('application', 'apply-jobs', 'email@gmail.com', language_default(), array(), 'user@test.com', $send);
于 2013-06-09T03:54:47.067 回答
0

我找到了我的问题的解决方案。解决方案是:

邮件系统模块允许每个模块配置邮件系统设置,这意味着我必须为我的自定义模块创建新的邮件系统,并指明我想要使用的邮件系统。在我这样做之后,我所有的电子邮件都被发送而没有任何问题。

希望这对某人有所帮助,因为关于此的信息很少。

谢谢你们。

于 2013-06-09T04:26:56.727 回答