【问题标题】:Drupal 7 - Emails are not going outDrupal 7 - 电子邮件不会出去
【发布时间】:2013-06-05 01:36:11
【问题描述】:

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

上下文:在 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);
}

建议?

【问题讨论】:

  • 您的托管服务提供商是否阻止了 25 端口?

标签: drupal drupal-7 drupal-modules


【解决方案1】:

定义可选参数的方式很奇怪。这一点:

$from = 'user@test.com'

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

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

$mail_message = drupal_mail('application', 'apply-jobs', 'email@gmail.com', language_default(), array(), 'user@test.com', $send);

【讨论】:

  • 我是否需要指定我使用的是 PHPMailer 而不是 Drupal 核心邮件?电子邮件地址不是真实的,因为我不想发布真实的电子邮件帐户。
  • 我说的不是你在这里使用的电子邮件地址,而是你调用 drupal_mail() 函数的方式
  • 我遵循了一堆示例,但我认为问题与使用 PHPMailer 以某种方式路由电子邮件有关,但我不确定。
【解决方案2】:

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

邮件系统模块允许每个模块配置邮件系统设置,这意味着我必须为我的自定义模块创建新的邮件系统,并指明我想要使用的邮件系统。完成此操作后,我的所有电子邮件都可以正常发送。

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

谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 2012-06-15
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2017-02-22
    相关资源
    最近更新 更多