如何在opencart中向多个收件人发送电子邮件?

问题描述 投票:0回答:4

这就是我目前向商店的(两位)管理员发送通知的方式

$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/不会起死回生..

php email opencart carbon-copy
4个回答
7
投票

尝试在字符串中用逗号分隔

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();

这应该消除重复代码的需要。


2
投票

在 OpenCart 2.x 中,您需要将数组传递给

setTo()
方法。

$mail->setTo(array(0 => '[email protected]', 1 => '[email protected]'));

0
投票

另一个选项是不必修改任何代码并在设置中更改它,

如果您进入系统,然后进入设置,然后单击商店上的编辑,它将打开您商店的设置...

然后,您需要进入邮件选项卡,然后向下滚动到“其他警报电子邮件”文本框,然后只需添加其他电子邮件地址

无需更改编码...

希望这有帮助,


0
投票
// Send to additional alert emails
$emails = explode(',', $this->config->get('config_mail_alert'));

foreach ($emails as $email) {
    if ($email && preg_match($this->config->get('config_mail_regexp'), $email)) {
        $mail->setTo($email);
            $mail->send();
    }
}

在文件中

/catalog/model/checkout/order.php

还有一个用于发送其他地址的附加脚本,这些地址在“邮件”选项卡中配置

© www.soinside.com 2019 - 2024. All rights reserved.