Отправка почты через Webform не работает

Главные вкладки

Аватар пользователя HIgor1968 HIgor1968 16 сентября 2008 в 10:27

Почему может не отправлятся почта через webform?
Локально все в норме. На сайте отправка через mail работает, буквально к той же форме сзади скрипт цепляю.
Адрес отправки в норме.
из модуля contact тоже отправляет.
В журнал сайта пишется ошибка

Ошибка отправки e-mail (от ......

Провайдер сказал что на хостинге закрыта fsockopen и стаит 1-о секундная задержка отправки - это может быть причиной?

Комментарии

Аватар пользователя glu2006 glu2006 16 сентября 2008 в 11:34

А через какую функцию отправляются остальные письма с сайта? drupal_mail() или от сторонних мыльных модулей? поскольку у меня были похожие грабли вебформ работал только с ядерной функцией отправки писем вот в этой функции function webform_client_form_submit() задется отправка на мыло в строках если от начала модуля 1567 и строка 1576. Хотя на 100% не уверен.

Аватар пользователя HIgor1968 HIgor1968 16 сентября 2008 в 21:01

Отправка из других модулей идет функцией drupal_mail()
Разбираюсь с webform_client_form_submit, если есть какое-то решение поделись;)
У меня вечером отправка заработала удивительным образом. Хотя если адресов в списке больше одного, то отправка так и не идет.
Вот кусок кода отправки

    // Mail the webform results.
    foreach ($emails as $cid => $address) {
      // In the case of checkboxes or multiple select, multiple e-mails may need
      // to be sent out.
      if (is_array($address)) {
        foreach ($address as $single_address) {
          drupal_mail('webform', 'submission', $single_address, user_preferred_language($user), array('message' => $messages[$cid], 'subject' => $subjects[$cid], 'headers' => $headers[$cid]), $froms[$cid]);

          // Debugging output for email.
          if (variable_get('webform_debug', 0) >= 2) {
            drupal_set_message("E-mail Headers: <pre>". htmlentities(print_r($headers[$cid], true)) ."</pre>To: ". $single_address ."<br />From: ". htmlentities($froms[$cid]) ."<br />Subject: ". $subjects[$cid] ."<br />E-mail Body: <pre>". $messages[$cid] ."</pre>");
          }
        }
      }
      else {
        drupal_mail('webform', 'submission', $address, user_preferred_language($user), array('message' => $messages[$cid], 'subject' => $subjects[$cid], 'headers' => $headers[$cid]), $froms[$cid]);

        // Debugging output for email.
        if (variable_get('webform_debug', 0) >= 2) {
          drupal_set_message("E-mail Headers: <pre>". htmlentities(print_r($headers[$cid], true)) ."</pre>To: ". $address ."<br />From: ". htmlentities($froms[$cid]) ."<br />Subject: ". $subjects[$cid] ."<br />E-mail Body: <pre>". $messages[$cid] ."</pre>");
        }
      }
    }
  }

Пошоже отправка идет стандартным drupal_mail.
Как вариант какойто косяк с принимающим почтовым серваком. Т.к. мне сообщения идут, а если адрес меняю то индейсакий шалаш получается - "фиг-вам".

Аватар пользователя HIgor1968 HIgor1968 16 сентября 2008 в 21:25

Похоже разобрался проблема возможно в секундной задержке.
Нельзя на Агаве сразу отправить по нескольким адресам.
в WebForm есть настройка
Conditional e-mail recipients
Там идет отправка еще одного письма если галочку ставим.
Завтра проверим точно.
Но в логах ошибки не зафиксировалось.