X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Правильная отправка писем с сайта
k0ttee
k0ttee
Topic Starter сообщение 28.4.2020, 15:32; Ответить: k0ttee
Сообщение #1


Письма с сайта попадают в спам? Почтовый сервис яндекса ругается "ненадёжный отправитель" на письма?

Прикрепленное изображение


Идём на сервис для тестирования. Берём там почтовый ящик, отправляем на него письмо (я зарегистрировался этой почтой на своём сайте), ждём несколько секунд, затем нажимаем "проверить оценку".

⚠︎ без оплаты можно протестировать 3 письма в день ⚠︎
[off]хитрый финт: три проверки с localhost, затем три проверки с server :D[/off]
https://www.mail-tester.com


Прикрепленное изображение


Вот ряд проблем, которые пофиксил у себя...

1

Прикрепленное изображение


#добавить в заголовок письма
$headers  .= 'MIME-Version: 1.0'."\r\n";


2

Прикрепленное изображение


#подготовка from для письма (если возможно - ASCII, если нет - Base64)
function encode_from($string) {
    if (mb_check_encoding($string, 'ASCII'))
        return mb_convert_encoding($string, 'ASCII', 'UTF-8');
    else
        return "=?utf-8?b?".base64_encode($string)."?=";
}

#имя отправителя в ASCII, или в Base64 по необходимости
$headers .= 'From: '.encode_from($clean_domain.' Robot').' <'.$from.">\r\n";


3

Прикрепленное изображение


С этим всё просто - письмо слишком жидкое, нужно добавить текста. Например, написать вспомогательной фигни, вроде "никому не показывайте пароль из этого письма", или типа того.


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Amney_rs
Amney_rs
сообщение 1.6.2020, 23:49; Ответить: Amney_rs
Сообщение #2


Данный инструмент тоже пригодиться - https://seolik.ru/dkim


--------------------
Доступные VPS под киносайты Дешевые VPS и хостинг - проверено временем и на собственном опыте! Отлично хостимся уже третий год!Заметки сис. админа - уникальные посты
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 3.9.2020, 13:31; Ответить: k0ttee
Сообщение #3


Ох уж этот DKIM, в первый раз возни столько же, сколько с сертификатом для домена.
Накатил opendkim и его утилиты opendkim-tools. Покрасноглазил в терминале, вписал TXT-запись в DNS домена...
И таки да, теперь вижу у своей рассылки "отправитель письма подтверждён".

А сервис, пусть он и хорош, уже перестал использовать. Не дождавшись завтра, когда дадут ещё 3 бесплатных проверки, нашёл красноглазый способ тестирования ручками. :D


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Amney_rs
Amney_rs
сообщение 3.9.2020, 14:03; Ответить: Amney_rs
Сообщение #4


(k0ttee)
Ох уж этот DKIM, в первый раз возни столько же, сколько с сертификатом для домена.

согласен. Но лучше одни раз нормально сделать, и дело в сторону.


--------------------
Доступные VPS под киносайты Дешевые VPS и хостинг - проверено временем и на собственном опыте! Отлично хостимся уже третий год!Заметки сис. админа - уникальные посты
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 4.9.2020, 9:49; Ответить: k0ttee
Сообщение #5


одни раз нормально сделать, и дело в сторону

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

Как исправить ошибку SPF
Данные отправителя скорее всего подделаны.

Начал делать с чего попроще, начал с SPF (Sender Policy Framework).
SPF - способ проверки подлинности писем, когда домену назначается запись обозначающая "почта этого домена на этом сервере".

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


На свой сервер назначил такой TXT-записью в NS домена.
Прикрепленное изображение


Одна строка в настройке домена. Попить чаю пока DNS домена обновятся. Тестирование. Проблема решена.
Просто понять теорию и просто реализовать на практике. ;)

Прикрепленное изображение

Прикрепленное изображение


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 6.9.2020, 6:28; Ответить: k0ttee
Сообщение #6


Домен из обратной DNS-зоны не соответствует домену отправителя
Из коробки, хостеры обычно дают какой-нибудь домен третьего уровня вместе с VDS. Нельзя сказать, что это плохо, какой-никакой, а домен. Но есть нюанс - именно этот домен занимает обратную зону DNS. Вот и причина ошибки...

Ваш IP адрес 123.123.123.123 связан с доменом бесплатный-домен-от-хостера-123-123-123-123.хостер.ru
Однако Ваше сообщение будет отображаться как отправленное с site.ru

Чтобы решить эту проблему - нужно именить PTR запись.

Как изменить PTR запись
С одной стороны - легко и просто. С другой - иногда невозможно. Повлиять на неё может владелец IP адреса, то есть - хостер.
Это настраивается в панели у хостера. Не в панели вашего сервера (на моём сервере вообще нет панели), а в панели управления вашими серверами у хостера.

В общем, в биллинге хостера, что-то такое:
1.) открываете список ваших серверов
2.) выбираете сервер, который будете настраивать
3.) выбираете в меню ip (скорее всего это там же, где можно докупать ip)
4.) меняете host напротив ip (было бесплатный-домен-от-хостера-123-123-123-123.хостер.ru стало site.ru)

Чтобы не тратить попытку проверки (сервис из шапки даёт бесплатно 3 попытки в сутки), вступление в силу можно проверить сторонним сервисом или выполнить в терминале команду:
nslookup -type=PTR 123.123.123.123

В выхлопе должно появиться примерно такое:
Non-authoritative answer:
123.123.123.123.in-addr.arpa    name = site.ru

Если видите свой домен, а не бесплатный хостерский - изменения вступили в силу.

Важное примечание: один ip - один домен (нельзя назначить несколько доменов одному ip). Если нужно несколько доменов - придётся докупить ip и тратить деньги, а ещё при смене ip домена могут отвалиться HTTPS-сертификаты.


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 9.9.2020, 10:52; Ответить: k0ttee
Сообщение #7


DKIM подпись не действительна
Если проверка показывает жёлтым -1 балл (по тому что подпись появилась, но DNS ещё не успели обновиться), а после обновления страницы (с этим же результатом теста) вы в том же результате видите красным -3 балла (по тому что подпись нихрена не совпадает)...

Яндекс-почта в таких случаях ругается "письмо изменено после отправки".

Это ещё не значит, что вы накосячили именно с подписью! Проблема может быть совсем не в подписи!

Победил нюанс быстро, но выявлял причину очень-очень долго.

Итак, если в письме есть строки (в программном смысле) длиннее некоторого количества символов, почтовый сервер рубит их на части. Таким образом, происходит вот что:
- письмо подписывается
- письмо передаётся на отправку
- сервер отправитель рубит длинные строки на части
- письмо приходит не соответствуя подписи

Ну сами подумайте, будет ли внимательный пользователь рад "возможно поддельному" письму с паролем или ссылкой?

Решается проблема простым костылём - напихать разрывов строки после тэгов. Визуально это никак не отразится на письме, только на его исходном коде. Разрывы как в винде, то есть \r\n (возврат каретки и конец строки).

У меня это примерно так. Не смотрите, что на скриншоте мало текста, это шаблон с подстановкой длинных абзацев через переменные.

Прикрепленное изображение


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 12.9.2020, 12:07; Ответить: k0ttee
Сообщение #8


Домен не зашифровал это сообщение
Читая раздел "помощь" у яндекс и гугл почты, так и не вкурил, как шифровать-то. Может быть я тупой (скорее не компетентный) и фирменная помощь не помогла понять причину проблемы.

Как оказалось, нужно было просто включить в программе-отправителе (в моём случае Postfix) использование отправки по зашифрованному каналу.

В файл
/etc/postfix/main.cf

Добавить этого (последняя строка, скорее всего, уже есть там)
#включить TLS для SMTP
smtp_use_tls = yes
#всё сложно
tls_high_cipherlist = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
#версия SSL
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
#путь до кэша TLS
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache


Перезапустить Postfix
systemctl restart postfix


И теперь, для отправленных писем в почте яндекса и гугла будем видеть желаемое "шифрование: да".

Прикрепленное изображение


Прикрепленное изображение


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБыстрая индексация страниц сайта и обратных ссылок - 2Index
38 2Index 6642 18.4.2024, 12:56
автор: 2Index
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2822 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыSiteAnalyzer - бесплатная программа для аудита и анализа сайта
77 Chaser 74225 9.4.2024, 11:36
автор: Chaser
Открытая тема (нет новых ответов) Нужен кодер, чтобы пофиксить ошибку Wordpress после переноса сайта
0 Alex-777 869 7.4.2024, 18:05
автор: Alex-777
Горячая тема (нет новых ответов) Вёрстка HTML-писем
30 Vampler 29363 27.3.2024, 12:41
автор: Vampler


 



RSS Текстовая версия Сейчас: 20.4.2024, 11:06
Дизайн