Как отправить электронное письмо нескольким получателям в opencart?
Вот так я сейчас отправляю уведомления (двум) админам магазина
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mailText = html_entity_decode($mailText,ENT_QUOTES, 'UTF-8');
/* Email para el admins Alcudia */
$mail->setFrom($this->request->post['email']);
$mail->setSender($this->request->post['name']);
$mail->setTo($admin_alcudia);
$mail->setSubject(html_entity_decode('Se ha realizado una solicitud de reserva', ENT_QUOTES, 'UTF-8'));
$mail->setHtml($mailText);
$mail->send();
/* Email para el admin de palma */
$mail->setFrom($this->request->post['email']);
$mail->setSender($this->request->post['name']);
$mail->setTo($admin_palma);
$mail->setSubject(html_entity_decode('Se ha realizado una solicitud de reserva', ENT_QUOTES, 'UTF-8'));
$mail->setHtml($mailText);
$mail->send();
Дело в том, что они говорят, что второй не получает его...
Есть идеи, как это улучшить? Есть ли какая-либо функциональность CC?
Я ждал весь день, но http://docs.opencart.com/ не вернется к жизни..
3 ответа
Попробуйте отделить sendTo()
функция с запятыми в строке:
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mailText = html_entity_decode($mailText,ENT_QUOTES, 'UTF-8');
$mail->setFrom($this->request->post['email']);
$mail->setSender($this->request->post['name']);
$mail->setTo($admin_alcudia.','.$admin_palma);
$mail->setSubject(html_entity_decode('Se ha realizado una solicitud de reserva', ENT_QUOTES, 'UTF-8'));
$mail->setHtml($mailText);
$mail->send();
Это должно устранить необходимость иметь дублирующийся код.
В OpenCart 2.x вам нужно передать массив в setTo()
метод.
$mail->setTo(array(0 => 'name@domain.com', 1 => 'name2@domain.com'));
Другой вариант - не изменять код и изменять его в настройках,
Если вы зайдете в систему, а затем в настройки и затем нажмите "Изменить" в своем магазине, откроются настройки для вашего магазина...
Затем вам нужно перейти на вкладку почты и прокрутить вниз до текстового поля "Дополнительные электронные уведомления", а затем просто добавить дополнительный адрес электронной почты.
Никаких изменений в кодировании не требуется...
Надеюсь это поможет,