Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Письма попадают в ящик нежелательной почты (https://javascript.ru/forum/xhtml-html-css/60128-pisma-popadayut-v-yashhik-nezhelatelnojj-pochty.html)

Эдди 12.12.2015 16:04

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

Что можно сделать с заголовками письма, чтобы оно туда не попадало?
Понятно, что если адресатов туева хуча, то это на 99,9% спам.
А если одно письмо, но создано автоматом?

Понятно, что панацеи нет. Письма многих провайдеров, профи так сказать, тоже идут как спам. Тот же ebay, кстати.

Но есть и исключения.
Вот как на этом форуме, к примеру. Ни одно письмо в спам не попало.

Есть идеи?

Могу выложить мою функцию отправки почты php. Подправите?
Если это вообще реально.

alavrova_78 12.12.2015 20:24

Эдди,
PTR и SPF записи на вашем сервере настроены верно?

Эдди 12.12.2015 21:05

Цитата:

Сообщение от alavrova_78 (Сообщение 399752)
Эдди,
PTR и SPF записи на вашем сервере настроены верно?

Хостинг Мастерхост.
Я с ними уже лет 16.
Как проверить?

alavrova_78 12.12.2015 21:50

Эдди,
Например, здесь

laimas 13.12.2015 11:34

Цитата:

Сообщение от Эдди
Могу выложить мою функцию отправки почты php.

Показывайте.

Эдди 13.12.2015 12:37

Обращаю внимание. Функция писалась лет 7 назад. Так что камнями не бросаться, если что :)
<?
function mail_send($mailto, //адрес получателя
					$subject, //тема письма
					$mail, //тело письма
					$mailfrom, //адрес отправителя
					$mailcopy='', //копия получателю
					$format='plain' //обычный текст или html (plain, html)
				)
{
	if(!empty($mailto) AND !empty($mail))
	{
		$f=($format=='plain'?'plain':'html');
		$headers="Content-Type: text/$f; charset=windows-1251 \r\n";
		$headers.="From: $mailfrom\r\n";
		$headers.="Bcc: $mailcopy\r\n";
		$subject='=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
		if(mail($mailto,$subject,$mail,$headers))
			return true;
	}
}?>

Эдди 13.12.2015 12:46

alavrova_78,
Что-то до меня туго в воскресенье доходит.
Это значит, что запись есть?
Я использую как хостинг, так и VPS (другие сайты)

Эдди 13.12.2015 12:48

Вот чёрт. А это на VPS.
А как внести ее?
[/quote]

laimas 13.12.2015 13:28

Вам же дали ссылку, там все есть - http://2whois.ru/blog/7-kak-pravilno...at-v-spam.html

Эдди 13.12.2015 13:44

Ссылка была как проверить. По Вашей вижу все, что надо, как сделать. ОК.
А с моей функцией все в порядке?

laimas 13.12.2015 14:04

С функцией то в порядке, но вообще-то есть рекомендации RFC по отправке почтовых сообщений. Ваша отправка почты, это как простенький пример из мануала, а к ней нужно относиться гораздо серьезнее. Кстати, не понятно зачем использовать koi8-r для темы, а не windows-1251 как и для тела.

Эдди 13.12.2015 14:13

Котеров... :(

laimas 13.12.2015 17:18

В смысле совет от "отца" Денвера? :)
Вообще детище Котерова давно умерло, как только остановилось в развитии, пора его в утиль. Установите Open Server, это действительно удобный локальный сервер. Ну а насчет почты, это читать RFC, да и можно "почитать" код зарекомендовавших себя классов, дабы ознакомиться как же все таки надо отправлять почту.

Эдди 13.12.2015 19:32

Цитата:

Сообщение от laimas (Сообщение 399807)
В смысле совет от "отца" Денвера? :)
Вообще детище Котерова давно умерло, как только остановилось в развитии, пора его в утиль. Установите Open Server, это действительно удобный локальный сервер. Ну а насчет почты, это читать RFC, да и можно "почитать" код зарекомендовавших себя классов, дабы ознакомиться как же все таки надо отправлять почту.

Я же сказал, что было 7 лет назад. Потому обвинения в свой адрес не принимаю. :)

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

Эдди 13.12.2015 19:44

laimas,
Денвер - прошлое.
Я просил подправить функцию. Про КОИ не совсем понятно.
Почему? да и другое.

laimas 13.12.2015 21:04

Цитата:

Сообщение от Эдди
Потому обвинения в свой адрес не принимаю.

А где обвинения и причем тут тогда Котеров?

Цитата:

Сообщение от Эдди
Про КОИ не совсем понятно.

А что не понятного, тело письма отправляется в CP1251, а тема его почему-то даже богом забытом в koi8-r, зачем, ради повыпендриваться с convert_cyr_string()? :)
Выбрасывайте к чертовой матери ее и кодируйте тему и добавки к адресу в той кодировке, в которой и есть письмо.

Эдди 14.12.2015 09:18

И так работает:
$subject='=?windows-1251?B?' . base64_encode($subject) . '?=';
И так
$subject='=?СЗ1251?B?' . base64_encode($subject) . '?=';

Никогда не понимал, откуда оба этих написания и почему.

laimas 14.12.2015 16:01

Естественно по любому будет работать. Кодируют тему письма и добавления к адресу (типа Федя <as.as@as>) потому, что объявляемая в заголовке кодировка сообщения не затрагивает выше указанные поля. Если этого не сделать, то нет гарантии, что почтовые серверы или клиенты будут корректно отображать их. Мало того, где-то лет 6 назад был неприятный момент связанный с mail.ru, у одного товарища этот сервер отказывался принимать почту возвращая причину - вирус. А причина была банальна, ругался как раз на эти не кодированные поля, то ли у них кашмарский так чудил, то ли ...

Но если почта отправляется в CP2151 (это и есть windows-1251), то и поля нужно кодировать в этой кодировке, если UTF, значит и поля в UTF, к чему в данном случае разнообразие, смысла нет, тем более с КОИ.


Часовой пояс GMT +3, время: 03:33.