Ich benutze drupal_mail, um E-Mails zu senden.
$to = '[email protected]';
drupal_mail('$module_name', $key, $to, language_default(), $params = array('username' => 'Tanvir'), $from = NULL, $send = TRUE);
Ich möchte E-Mails an mehrere E-Mail-Adressen gleichzeitig senden. Soll ich das machen?
$to = array('[email protected]', '[email protected]', '[email protected]',);
drupal_mail('$module_name', $key, $to, language_default(), $params = array('username' => 'Tanvir'), $from = NULL, $send = TRUE);
Antworten:
Der to-Parameter to
drupal_mail
ist eine Zeichenfolge, kein Array. Sie können jedoch beliebig viele Empfänger in der E-Mail-Zeichenfolge "to" haben, sofern diese durch Kommas getrennt sind.Gehen Sie wie folgt vor, um dieselbe E-Mail an mehrere Empfänger zu senden:
Siehe auch API-Dokumentation für
drupal_mail
quelle
$to = '[email protected], [email protected], [email protected]';
erhalte ich nur eine E-Mail, aber wenn ich es$to = '[email protected],[email protected],[email protected]';
ohne Leerzeichen versuche , habe ich alle E-Mails erhalten!Verwenden Sie hook_mail , um mehrere Empfänger zu senden, indem Sie Folgendes übergeben:
quelle
Laut PHP-Dokument können Sie nur einen Brief über einen Aufruf der Funktion drupal_mail senden. Sie sollten also Cycle verwenden. Beispiel
quelle
Wenn Sie die Funktionsdokumentation von drupal_mail lesen, wird angezeigt, dass der Parameter '$ to' eine Zeichenfolge akzeptiert, die kein Array in bestimmten Formaten ist, wie z.
So können wir Ihr $ in Array mithilfe der Implode-Funktion problemlos in das erforderliche Format konvertieren. Daher müssen Sie E-Mails auf einmal an mehrere Empfänger senden. Hier ist der Code:
quelle