Я использую drupal_mail для отправки электронной почты,
$to = 'email@email.com';
drupal_mail('$module_name', $key, $to, language_default(), $params = array('username' => 'Tanvir'), $from = NULL, $send = TRUE);
Я хочу отправить электронную почту на несколько адресов электронной почты одновременно. Должен ли я делать это?
$to = array('one@email.com', 'two@email.com', 'three@email.com',);
drupal_mail('$module_name', $key, $to, language_default(), $params = array('username' => 'Tanvir'), $from = NULL, $send = TRUE);
Ответы:
Параметр to
drupal_mail
является строкой, а не массивом. Но вы можете иметь столько получателей, сколько захотите, в строке «to» электронных писем, если они разделены запятыми.Таким образом, чтобы отправить одно и то же письмо нескольким получателям, сделайте следующее:
Смотри также API документацию для
drupal_mail
источник
$to = 'one@email.com, two@email.com, three@email.com';
я получаю только одно электронное письмо, но когда я пытаюсь$to = 'one@email.com,two@email.com,three@email.com';
без пробелов, я получаю все письма!Используйте hook_mail для отправки нескольких получателей, передав:
источник
Согласно PHP документу вы можете отправить только одно письмо одним вызовом функции drupal_mail. Итак, вы должны использовать цикл. пример
источник
Если вы прочитаете документацию по функции drupal_mail, то увидите, что параметр '$ to' принимает строку, а не массив в определенных форматах, таких как:
Таким образом, мы можем легко преобразовать ваш $ в массив в требуемый формат, используя функцию выгрузки, и, следовательно, вы будете отправлять электронную почту нескольким получателям за один раз. Вот код:
источник