drupal_mail sendet Mails doppelt
am 01.03.2012 - 15:59 Uhr in
Hallo,
ich hab grad so mein Leiden mit den Funktionen drupal_mail und drupal_mail_system::mail. Jeder Klick auf´s Formular-Submit erzeugt 2 Mails!
Ich habe in meinem Modul ein Formular erstellt. Auf Submit (via AJAX / $form['submit']['#ajax']) wird dieses abgeschickt und validiert. Funktioniert.
Der Vollständigkeit halber hier beispielhaft meine Validierfunktion:
<?php
function mymodule_forms_kontakt_validate($form, &$form_state) {
if(!form_get_errors()) {
if(irgendeineprüfung schlägt fehl) { form_set_error('element', t('Fehlertext')); }
}
}
?>Bei erfolgreicher Validierung wird gesendet. Hier die Funktion (gekürzt):
<?php
function mymodule_forms_kontakt_submit($form, &$form_state) {
$element = $form['box'];
if(!form_get_errors()) {
$module = 'mymodule.kontakt';
$key = 'mailfrom-'.date('c');
$language = language_default();
$params = array();
$from = $form_state['values']['name'].' <'.$form_state['values']['email'].'>';
$to = 'Empfänger <mail@empfaenger.de>';
$message = drupal_mail($module, $key, $to, $language, $params, $from, false);
$message['subject'] = $form_state['values']['betreff'];
$message['body'] = array();
$message['body'][] = $form_state['values']['text'];
$system = drupal_mail_system($module, $key);
$message = $system->format($message);
$message['result'] = $system->mail($message);
if($message['result']) {
$res = 'Anfrage erfolgreich erstellt.';
}
else {
$res = 'Beim Erstellen Ihrer Anfrage ist ein Fehler aufgetreten.';
}
$element['#markup'] = $res;
}
return $element;
}
?>Gemäß Drupal-Referenz sollte die Funktion drupal_mail mit dem letzten Parameter $send=false keine Mail senden, sondern nur erstellen. Gesendet wird mit $system->mail. Scheinbar hat $send keinen Einfluss auf das Senden. Es ist egal, ob ich true oder false setze, ich erhalte immer zwei Mails.
Hab ich nen Knoten in der Denkleitung oder habe ich die Verwendung der Mail-Funktionen falsch verstanden?
Vielen Dank für eure Hilfe!
- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 2 Tagen 4 Stunden
vor 2 Tagen 20 Stunden
vor 8 Wochen 49 Minuten
vor 8 Wochen 19 Stunden
vor 8 Wochen 1 Tag
vor 8 Wochen 5 Tagen
vor 8 Wochen 6 Tagen
vor 9 Wochen 3 Tagen
vor 9 Wochen 3 Tagen
vor 9 Wochen 3 Tagen