Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Оповещение о заказе, регистрации попадают в спам ("из коробки")


Recommended Posts

Добрый день, уже неделю бьюсь с проблемой оповещений.

Дело в том что по факту ничего не менял (убрал из шаблона письма ссылки и картинку магазина), и изначально все письма отправленные (о заказе, регистрации) попадают в спам Гугла и Укр.нета (больше не проверял).

Если поставить ящик магазину гугловский, то в спам гугла уже не попадает, но попадает в спам остальных :)

 

Почта хостера, ДКИМ, СПФ настроены верно, уже неделю пытаемся с ним решить проблему, он настаивает на том что почта отсекается проверкой состава самого письма.

 

Изначально я пресекался с ним потому что не мог поверить, что при подаче "с коробки" Осстора 1.5.4.1 может быть такой косяк, и при этом погуглив такой массовой проблемы я не встретил. Но в итоге я все таки ему верю, и думаю что проблема действительно в теле письма.

 

Осстор 1.5.4.1
 

Техн. состав шапки письма (звездочками по закрывал мыла):

Delivered-To:***********************
Received: by 10.202.83.134 with SMTP id h128csp165221oib;
Sun, 9 Nov 2014 05:39:49 -0800 (PST)
X-Received: by 10.152.8.100 with SMTP id q4mr23070945laa.48.1415540388238;
Sun, 09 Nov 2014 05:39:48 -0800 (PST)
Return-Path:
Received: from mx-out-4.ukraine.com.ua (mx-out-4.ukraine.com.ua. [91.222.137.217])
by mx.google.com with ESMTPS id l8si23558114lah.23.2014.11.09.05.39.46
for
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Sun, 09 Nov 2014 05:39:47 -0800 (PST)
Received-SPF: pass (google.com: domain of ******************.ua designates 91.222.137.217 as permitted sender) client-ip=******************;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of *************************** designates 91.222.137.217 as permitted sender) smtp.mail=***************************;
dkim=pass header.i=@******************
Message-Id: <545f6ea3.a81d980a.2685.ffffe87aSMTPIN_ADDED_MISSING@mx.google.com>
Received: from ************** (unknown [91.206.200.94])
by mx-out-4.ukraine.com.ua (Postfix) with ESMTPA id 564342C0002
for ; Sun, 9 Nov 2014 15:39:46 +0200 (EET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=**********************;
s=hosting; t=1415540386;
bh=vuHyrV/CmRtdjgzZYtxO3luhtpZw1JzpCnN6ucylInI=;
h=To:Subject:Date:From:Reply-To;
b=Eevcfez4+ztFcWyIPjSuK3WXLGQ9pYtrobqJ+oRe8yinT27V7skBPyFmdG7CW7a2J
/ihXMqpak3NcAuN7bv4TwbIEwarafFvl/FuKZoJjINCIw94oRaVR2TPz15bayTY98L
dTnd+a1EJCUvf+24eT8e8U+mnV7kZqZxGefNlezM=
MIME-Version: 1.0
To: ****************************
Subject: Ваш заказ оформлен!
Date: Sun, 09 Nov 2014 15:39:46 +0200
From: =?UTF-8?B?Q29mZmVlUHVi?=
Reply-To: =?UTF-8?B?Q29mZmVlUHVi?=
X-Mailer: PHP/5.3.29
Content-Type: multipart/related; boundary="----=_NextPart_09d7e04e399899698e7f4fc821438875"
X-Delta-Virus-Check: ok
X-Delta-Spam-Symbols: Symbols: FROM_EXCESS_BASE64(1.50), R_NO_SPACE_IN_FROM(1.00), BAYES_SPAM_RU(4.63)(0.92), REPLYTO_EXCESS_BASE64(1.50), MISSING_MID(3.00), ONCE_RECEIVED(1.00), R_SPF_SOFTFAIL(1.00)(all), R_PARTS_DIFFER(3.00);
X-Delta-Spam-Score: 16,63

------=_NextPart_09d7e04e399899698e7f4fc821438875
Content-Type: multipart/alternative; boundary="----=_NextPart_09d7e04e399899698e7f4fc821438875_alt"

------=_NextPart_09d7e04e399899698e7f4fc821438875_alt
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

 

Есть ли известные косяки в формировке шаблона письма в Оссторе 1.5.4.1? Эти строки "NextPart_09d7" и т.д. немного настораживают..

 

Копать system/library/mail.php или сам шаблон ХТМЛьный?

А есть еще catalog/model/checkout/order.php... в общем я немного потерялся, и совсем не знаю что и куда рыть.

Надіслати
Поділитися на інших сайтах


Похоже причина в Subject: Ваш заказ оформлен!

судя по всему, проблема в кодировке темы письма, должно быть в UTF-8 как например From: =?UTF-8?B?Q29mZmVlUHVi?= и Reply-To: =?UTF-8?B?Q29mZmVlUHVi?=

 

Если правите файлы Опенкарт - сохраняйте в кодировке UTF-8 без Bom, для правки использовать Notepad++

 

в файле catalog/model/checkout/order.php смотрите строки связанные с темой письма, должно быть что-то навроде:

$template->data['title'] = sprintf($language->get('text_subject'), html_entity_decode($order_query->row['store_name'], ENT_QUOTES, 'UTF-8'), $order_id);

и

$subject = sprintf($language->get('text_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id . ' (' . $order_total . ')');

либо правили языковой файл и нарушили кодировку

Змінено користувачем AlexDW
Надіслати
Поділитися на інших сайтах

Все всегда правил в  Notepad++, но были срочные доработки и т.д. когда заливал на хостинг, возможно где-то поспешил. Сейчас проверю и отпишу, спасибо.

 

Апдейт:

Было:
$subject = sprintf($language->get('text_new_subject'), $order_info['store_name'], $order_id);

 

добавил ЮТФ-8, заголовок все равно в иероглифах (ели смотреть оригинал на гугле, в самом письме все верно с кириллицей). 

И все равно падает в спам :(

Надіслати
Поділитися на інших сайтах


Спамом заведует сервер

 

Какие правила спам фильтра известны только серверу, если вы сами этим сервером не управляете.

 

В спам могут попадать письма из ...

по ip (по сетке)

по несоответствию адресов отправителя-получателя

по почтовому агенту, например phpmailer

 

По содержимому в заголовке

По содержимому в теле письма

По .. адресу (маске) отправителя

 

Это я привел правила весьма и весьма простые.

Надіслати
Поділитися на інших сайтах

Это я знаю. И хостер, и уже поддержка почты укр.нета говорит мне что в спам попадает после проверки самого письма на содержимое.

Я у них уточнил что именно не так жду ответа.

 

Но тут я пытаюсь узнать, есть ли в стандартном оформлении писем Осстора такие косяки, из-за которых все формирующие оповещения попадают в спам, и их нужно исправлять всегда и со старта.

Надіслати
Поділитися на інших сайтах


Ничего особенного нет, поменяйте текст в письме местами, перепишите этот текст, оформите иначе.

Надіслати
Поділитися на інших сайтах

Спасибо за ответ. Вот такой ответ получил от сапорта укр.нета:
"Письмо, предоставленное Вами, составлено не по стандарту RFC - 822 и  совпадает с распространенными шаблонами спама. 
Приведите,пожалуйста, данное письмо в соответствие стандарту."

Предпологаю, что стандартный шаблон Опенкарта и Осстора уже попадает в спам. Нужно поколдовать, посортировать оформление и т.д. и пробовать. Так как вы и предложили.

 

Попробую и отпишу результат. Спасибо еще раз.

Надіслати
Поділитися на інших сайтах


На момент эксперимента  удалил все оформление и оставил просто текст "Ваш заказ оформлен". На Гмейл письмо пришло без проблем. А на укр. нет попало в СПАМ :)

Ответ сапорта укр.нет, после моего повторного обращения (одна строчка текста, почему спам?) просто удивил:

"Добрый день.

Письмо, предоставленное Вами, составлено не по стандарту RFC - 822 и  совпадает с распространенными шаблонами спама. 


Приведите,пожалуйста, данное письмо в соответствие стандарту."

 

Либо у них заело пластинку, либо дело не в оформлении только.

Надіслати
Поділитися на інших сайтах


Получил уточняющий ответ от сапорта укр.нета:

"Внешний антиспам дал оценку X-Delta-Spam-Score: 15,7, для разрешения прохождения письма, он должен быть не выше 6.

Если Вы делаете тип письма multipart/related - необходимо, чтобы все multi parts  были одинаковые, так же не нужно кодировать технические заголовки."

 

Кто-то может объяснить в чем именно проблема?

Надіслати
Поділитися на інших сайтах


Subject: Ваш заказ оформлен!
Date: Sun, 09 Nov 2014 15:39:46 +0200
From: =?UTF-8?B?Q29mZmVlUHVi?=
Reply-To: =?UTF-8?B?Q29mZmVlUHVi?=

С самого начала же указали, что, скорее всего, в этом. Попробуй подставить для эксперимента реальные ящики и нормальный текст во все три поля. Прямо в шаблоне.

Типа

Subject: Надо доделать отсылку писем
Date: Sun, 09 Nov 2014 15:39:46 +0200
From: [email protected]
Reply-To: [email protected]
Надіслати
Поділитися на інших сайтах


Также я пришел к выводу что нельзя делать разные отправки админу и клиенту. В движке это одно письма с разными multipart, например в оригинале своего письма в гугле (который пришел клиенту) я вижу код текста который приходит админу.

Если одно из требований укр.нета чтобы мультипарты были одинаковыми, самым простым решением будет не отправлять админу отдельное оповещение, а просто копию письма которое приходит клиенту. Тогда с мультипартами все будет ОК.

ПОправьте если ошибась

Надіслати
Поділитися на інших сайтах


From: =?UTF-8?B?Q29mZmVlUHVi?=
Reply-To: =?UTF-8?B?Q29mZmVlUHVi?=

эти поля-то как аз нормальные, ?UTF-8? в начале сообщает серверу кодировку текста в них

 

проблема скорей всего в

Subject: Ваш заказ оформлен!

ищите строки в файле catalog/model/checkout/order.php , должно быть

$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));

как вариант, сравнить рабочий catalog/model/checkout/order.php с оригинальным файлом из дистрибутива

 

еще вариант - попробуйте завести ящик на mail.ru и подставить его реквизиты в Система-настройки-почта

Надіслати
Поділитися на інших сайтах

У меня так и стоит, вот кусок из моего файла (он кстати полностью совпадает с чистым дистрибутивом):

 

$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');			
			$mail->setTo($order_info['email']);
			$mail->setFrom($this->config->get('config_email'));
			$mail->setSender($order_info['store_name']);
			$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
			$mail->setHtml($html);
			$mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8'));
			$mail->send();

В случае с mail.ru, проверить отправку с него на укр.нет и прочее?

Надіслати
Поділитися на інших сайтах


Ребят, ошибка с кодировкой из-за того что я копировал текст из браузера где стояла Кирилица, там же если поменять кодировку -  все ОК.

Проехали с сабджектом.

 

Только что убрал строку:
$mail->setHtml($html);

 

Этим самым я лишился красивого письма, но по сути там есть вся информация и лаконично.

Опять же на Gmail пришло без проблем. На укр.нет сыпется в спам.

 

Кстати, просмотрев оригинал на гугле, я увидел что моя оценка спам-фильтра упала до 12 балов:
X-Delta-Spam-Symbols: Symbols: REPLYTO_EXCESS_BASE64(1.50), R_NO_SPACE_IN_FROM(1.00), R_SPF_SOFTFAIL(1.00)(all), FROM_EXCESS_BASE64(1.50), ONCE_RECEIVED(1.00), MISSING_MID(3.00), BAYES_SPAM_RU(3.84)(0.76);
X-Delta-Spam-Score: 12,84

 

Я так понимаю из-за того что я убрал мультипарт с хтмл, теперь осталось разобраться с:

"
так же не нужно кодировать технические заголовки"

Надіслати
Поділитися на інших сайтах


Да есть же!

Исправил заголовки и:
X-Delta-Spam-Score: 0

 

Ура! Кому интересно использовал решение из данного топика (в самом низу есть xml файл, делал ручками т.к. не пользуюсь VQMod-ом, но у кого есть - еще проще):
http://forum.opencart.com/viewtopic.php?f=20&t=120464

Надіслати
Поділитися на інших сайтах


  • 4 weeks later...

Друзья, не надо пользоваться бесплатными ящиками для транзакционных и технических писем. Это почти то же, что справлять малую нужду против ветра. Они (такие почтовые службы) нацелены на пользователей, а не на технические рассылки с серверов.

 

Используйте, например, Amazon SES (http://habrahabr.ru/post/141102/). Учитывая что я пользуюсь Амазон EC2 для серверов, Route 53 для DNS и S3 для резервного копирования, удобно использовать и их SMTP сервис. Расходы копеечные.

Надіслати
Поділитися на інших сайтах


  • 8 months later...
  • 2 months later...

Да есть же!

Исправил заголовки и:

X-Delta-Spam-Score: 0

 

Ура! Кому интересно использовал решение из данного топика (в самом низу есть xml файл, делал ручками т.к. не пользуюсь VQMod-ом, но у кого есть - еще проще):

http://forum.opencart.com/viewtopic.php?f=20&t=120464

У Вас файла случайно не осталось, а то на этом сайте файл удален. Или может расскажите что надо сделать?

Надіслати
Поділитися на інших сайтах

  • 7 months later...

Добрый день,

 

Подскажите пожалуйста как разобраться с подобной проблемой. На почту гугла письма приходят в спам. На яндекс вроде нормально. Но вот письмо о новом клиенте так же на яндексе идёт в спам....

 

Кодировки ни где не менял вообще "боюсь" лезть в системные файлы так как опыта мало.

 

Создал сначала тему в "песочнице", но там пока не решили вопрос, поэтому решил ещё тут спросить.

https://opencartforum.com/topic/62318-%D0%BF%D0%B8%D1%81%D1%8C%D0%BC%D0%BE-%D0%BE%D1%82-%D0%B8%D0%BC-%D0%BF%D0%BE%D0%BF%D0%B0%D0%B4%D0%B0%D0%B5%D1%82-%D0%B2-%D1%81%D0%BF%D0%B0%D0%BC/

 

 

Сейчас имею следующее:

 

post-698770-0-61167700-1467193667_thumb.jpg

 

ocStore Версия 1.5.5.1.2

Надіслати
Поділитися на інших сайтах


Похоже причина в Subject: Ваш заказ оформлен!

судя по всему, проблема в кодировке темы письма, должно быть в UTF-8 как например From: =?UTF-8?B?Q29mZmVlUHVi?= и Reply-To: =?UTF-8?B?Q29mZmVlUHVi?=

 

Если правите файлы Опенкарт - сохраняйте в кодировке UTF-8 без Bom, для правки использовать Notepad++

 

в файле catalog/model/checkout/order.php смотрите строки связанные с темой письма, должно быть что-то навроде:

$template->data['title'] = sprintf($language->get('text_subject'), html_entity_decode($order_query->row['store_name'], ENT_QUOTES, 'UTF-8'), $order_id);

и

$subject = sprintf($language->get('text_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id . ' (' . $order_total . ')');

либо правили языковой файл и нарушили кодировку

 

У меня вот так:

 

$template->data['title'] = sprintf($language->get('text_new_subject'), html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'), $order_id);

 

и

 

$subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id);

Надіслати
Поділитися на інших сайтах


Subject: Ваш заказ оформлен!
Date: Sun, 09 Nov 2014 15:39:46 +0200
From: =?UTF-8?B?Q29mZmVlUHVi?=
Reply-To: =?UTF-8?B?Q29mZmVlUHVi?=

С самого начала же указали, что, скорее всего, в этом. Попробуй подставить для эксперимента реальные ящики и нормальный текст во все три поля. Прямо в шаблоне.

Типа

Subject: Надо доделать отсылку писем
Date: Sun, 09 Nov 2014 15:39:46 +0200
From: [email protected]
Reply-To: [email protected]

 

 

Подскажите пожалуйста где это можно проставить для теста?

Надіслати
Поділитися на інших сайтах


 

ищите строки в файле catalog/model/checkout/order.php , должно быть
$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));

как вариант, сравнить рабочий catalog/model/checkout/order.php с оригинальным файлом из дистрибутива

 

еще вариант - попробуйте завести ящик на mail.ru и подставить его реквизиты в Система-настройки-почта

 

 

У меня тут точно такая же строка.

Надіслати
Поділитися на інших сайтах


  • 4 weeks later...

У Вас файла случайно не осталось, а то на этом сайте файл удален. Или может расскажите что надо сделать?

 

Попробуйте вот этот файл. должно все работать:

 

http://forum.opencart.com/viewtopic.php?p=605939#p605939

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.