#php #email #sendmail #gmail #spam
Добрый день, у меня проблема с регистрацией пользователей на сайте, гугл все письма подтверждения считает спамом, из за этого я вижу многие пользователи просто забивают на регистрацию и уходят. Какие заголовки нужно передавать что бы все было ок, или что делать? Двиг сайта самописный, на php. Delivered-To: *******@gmail.com Received: by 10.25.208.143 with SMTP id h137csp471735lfg; Thu, 23 Feb 2017 06:55:46 -0800 (PST) X-Received: by 10.28.236.93 with SMTP id k90mr2954531wmh.40.1487861746329; Thu, 23 Feb 2017 06:55:46 -0800 (PST) Return-Path:Received: from *******.freedomain.thehost.com.ua ([176.114.3.106]) by mx.google.com with ESMTPS id 196si6753159wmw.120.2017.02.23.06.55.45 for (version=TLS1_2 cipher=AES128-SHA bits=128/128); Thu, 23 Feb 2017 06:55:46 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning no-reply@mysite.net does not designate 176.114.3.106 as permitted sender) client-ip=176.114.3.106; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning no-reply@mysite.net does not designate 176.114.3.106 as permitted sender) smtp.mailfrom=no-reply@mysite.net Message-ID: <58aef7f2.cd161c0a.52af6.98a5SMTPIN_ADDED_BROKEN@mx.google.com> X-Google-Original-Message-ID: <172562218.20170223165545mysite.net> Received: from *********.freedomain.thehost.com.ua ([176.114.3.106] helo=mysite.net) by *********.freedomain.thehost.com.ua with esmtpa (Exim 4.82) (envelope-from ) id 1cguo5-0002y0-GN for myEmailName@gmail.com; Thu, 23 Feb 2017 16:55:45 +0200 Date: Thu, 23 Feb 2017 16:55:45 +0200 From: "Робот сервера mysite.net" X-Mailer: The Bat! (v3.99.3) Professional Reply-To: "Робот сервера mysite.net" X-Priority: 3 (Normal) To: "myEmailName" Subject: Создание аккаунта(mysite.net) MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit Добро пожаловать на mysite.net
Ваш аккаунт "LADUSHKA" создан. Для завершения регистрации Вам необходимо в течение 3 дней перейти по ссылке. https://mysite.net/index.php?id=verification&hash=065f5117caeacc8642434e0024af61e0
Ответы
Ответ 1
Received-SPF: softfail говорит о том, что не настроен SPF. Добавьте в файл DNS зоны(mysite.net), запись: mysite.net. IN TXT "v=spf1 +a +mx -all" Также стоит настроить DKIM. Настройка для Ubuntu сервера: sudo apt update sudo apt install opendkim opendkim-tools vim /etc/opendkim.conf Правим конфиг: Syslog yes UMask 002 Domain mysite.net KeyFile /etc/mail/dkim.key Selector mail SubDomains yes OversignHeaders From Socket inet:8891@localhost Генерируем ключи: opendkim-genkey --domain=mysite.net --selector=mail --verbose sudo mv mail.private /etc/mail/dkim.key sudo chown root:root /etc/mail/dkim.key sudo chmod 400 /etc/mail/dkim.key cat mail.txt # Публичный ключ для записи домена Настраиваем sendmail: cd /etc/mail echo "INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@localhost')dnl" >> sendmail.mc m4 sendmail.mc > sendmail.cf service opendkim restart service sendmail restart Добавляем TXT запись mail._domainkey: v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3D... Указанная в Content-type кодировка не относится к заголовкам письма. Как следствие Subject нужно кодировать. На php это делается так: $subject = mb_encode_mimeheader($subject, 'UTF-8', 'B', "\r\n", strlen('Subject: '));Ответ 2
Google может посчитать письмо спамом по множеству причин, но вам следует обратить внимание на это: Received-SPF: softfail (google.com: domain of transitioning no-reply@mysite.net does not designate 176.114.3.106 as permitted sender) Скорее всего у вас в качестве адреса отправителя указан адрес, доменное имя которого не соответствует IP домена, с которого отправляется почта. Попробуйте указать реальный почтовый ящик, IP адрес домена которого является 176.114.3.106.Ответ 3
Это самое важное, пропишите в DNS своего домена TXT SPF запись примерно следующего содержания: mysite.net. IN TXT "v=spf1 +a +mx +ip4:176.114.3.106 -all". Так же почитайте по поводу DKIM Если ваш хостер позволяет менять PTR запись для вашего ip поставьте в нее имя вашего домена с которого отправляется почта. Т.е. что бы PTR запись для ip давала такое же имя для которого A запись указывает на этот ip. Сейчас там стоит ....freedomain.thehost.com.ua который например спамассасину не нравится видимо из за наличия слова free а адресе. Текущее состояние проверяется просто nslookup ip-с-которого-шлется-почта В вашем письме нет Message-ID, его добавляет уже гугл при получении. Должно быть уникальное Message-ID оканчивающееся на @ваш-домен. Обычно это сам делает какой нибудь sendmail на вашей машине, через который вы по идее должны отправлять почту. Напишите каким нибудь почтовым клиентом письмо с такой же темой, как вы отправляете и посмотрите как кодируется заголовок. Сейчас у вас там просто текст, а должно быть что то вроде Subject: =?UTF-8?B?0KHQvtC30LTQsNC90LjQtSDQsNC60LrQsNGD0L3RgtCwKG15c2l0ZS5u?= =?UTF-8?B?ZXQp?= Русские буквы открытым текстом в заголовках письма нарушают стандарты. Напишите побольше текста. В несколько строк. Сейчас spamassasin говорит "Message body is only a URI in one line of text or for an image"
Комментариев нет:
Отправить комментарий