Добрый день, знатоки! Бьюсь не первый день, не могу добиться чтобы при отправке письма был заголовок List-Unsubscribe. Пробовал разные варианты, ничего не помогает. Стоит opencart 2.2.0, PHPMailer.
Добавлял в phpmailer.php $mail->AddCustomHeader("List-Unsubscribe: <mailto:info@example.com?subject=Unsubscribe>, <http://example.com/unsubscribe.php?mailid=1234>"); выдает ошибку при отправке. Добавил в код такую штуку, но не знаю что с ней делать: public function addCustomHeader($name, $value = null) { if (null === $value && strpos($name, ':') !== false) { //Value passed in as name:value list($name, $value) = explode(':', $name, 2); } $name = trim($name); $value = (null === $value) ? '' : trim($value); //Ensure name is not empty, and that neither name nor value contain line breaks if (empty($name) || strpbrk($name . $value, "\r\n") !== false) { if ($this->exceptions) { throw new Exception('Invalid header name or value'); } return false; } $this->CustomHeader[] = [$name, $value]; return true; }
нет это пример как добавить заголовок это файл с классом? добавлять заголовок, нужно не в класс, а там где этот класс вызывается и отправляется сообщение
Добавил, получилось вот что: |To:мыло@mail.ru |From:почта |Subject:List-Unsubscribe |Message-ID:<LLNVHQbmlLgJEQC88LDFohHJK5gKOPON99UtEJHFs@почта> |X-MailerHPMailer=206.5.0=20(https://github.com/PHPMailer/PHPMailer) |MIME-Version:1.0 |Content-Type:multipart/alternative=3B=20boundary=3D"b1_LLNVHQbmlLgJEQC88L
Добавил в модификатор: $mail->AddCustomHeader("List-Unsubscribe: <mailto:info@example.com?subject=Unsubscribe>, <http://example.com/unsubscribe.php?mailid=1234>"); Вышло такое, получается прошло? |To:почта@mail.ru |From:<почта> |Subject:=3D?UTF-8?B?0YLQtdGB0YI=3D?=3D |Message-ID:<F5scRTMeZyZ4058G6vVFFuAqSqtqCyN0TDEtcUT6OcQ@www.почта > |X-MailerHPMailer=206.5.0=20(https://github.com/PHPMailer/PHPMailer) |List-Unsubscribe:<mailto:info@почта?subject=3DUnsubscribe>,=20<ht tps://почта/newsletter> |MIME-Version:1.0 |Content-Type:multipart/alternative=3B=20boundary=3D"b1_F5scRTMeZyZ4058G6v VFFuAqSqtqCyN0TDEtcUT6OcQ";
Пытаюсь добавить в admin/controller/marketing/contact.php - List-Unsubscribe что бы заголовок добавлялся только при отправке из маркетинг/почта, выдает ошибку. код: foreach ($emails as $email) { if (filter_var($email, FILTER_VALIDATE_EMAIL)) { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); $mail->setTo($email); $mail->setFrom($store_email); $mail->setSender(html_entity_decode($store_name, ENT_QUOTES, 'UTF-8')); $mail->setSubject(html_entity_decode($this->request->post['subject'], ENT_QUOTES, 'UTF-8')); //$mail->AddCustomHeader('List-Unsubscribe: <mailto:info@test.ru?subject=Unsubscribe>, <https://www.test.ru/newsletter>'); $mail->setHtml($message); $mail->send(); Что ни так, подскажите пожалуйста.
Что-то в делаете не та к AddCustomHeader принимает 1 или два параметра header и value $mail->AddCustomHeader('List-Unsubscribe', '<mailto:info@test.ru?subject=Unsubscribe><https://www.test.ru/newsletter>'); как вариант или $mail->AddCustomHeader('List-Unsubscribe : <mailto:info@test.ru?subject=Unsubscribe><https://www.test.ru/newsletter>');
Не-а, не проходит, ругается. www.test.ru [Wed Jul 07 16:25:49 2021] [error] [pid 23193] sapi_apache2.c(325): [client test:36402] PHP Fatal error: Call to undefined method Mail::AddCustomHeader() in public_html/admin/controller/marketing/contact.php on line 253 www.test.ru [Wed Jul 07 16:26:41 2021] [error] [pid 4443] sapi_apache2.c(325): [client test:39758] PHP Fatal error: Call to undefined method Mail::AddCustomHeader() in public_html/admin/controller/marketing/contact.php on line 253
Дальше разговор бесмыслен Форум - не сделай за меня Форум - помоги разобраться Мне не нужна версия Если пишет -нет метода, так найдите.. установите оновленную версию и т.д. Все вам пишет в коде ошибок