Задать вопрос
@lagudal

Почему сообщения, отправленные из контактной формы сайта, попадают в спам?

Сайт на vps, если это важно - ubuntu 20.04, хостер - hetzner.
Записи вроде бы все настроены, письма отправляются, но большинство почтовых серверов даже не доводят их до пользователей, убивают сразу и наглухо. Это что касается таких монстров типа mail.ru, yandex, yahoo, и еще порядочно.
Gmail пропускает, но сразу в спам. Какие то корпоративные серверы пропускают сразу во входящие, тут как я понимаю, кто как настроил спам-фильтры.
Раньше тот же сайт был на шаред хостинге, та же форма и тот же скрипт отправки, все доставлялось нормально.
Поэтому делаю вывод, что что то настроил неправильно или не настроил вовсе.
На всякий случай, вот этот php скрипт, простейший.
скрипт php
<?php
// Email Submit
// Note: filter_var() requires PHP >= 5.2.0
if ( isset($_POST['email']) && isset($_POST['name']) && isset($_POST['subject']) && isset($_POST['message']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ) {
 
  // detect & prevent header injections
  $test = "/(content-type|bcc:|cc:|to:)/i";
  foreach ( $_POST as $key => $val ) {
    if ( preg_match( $test, $val ) ) {
      exit;
    }
  }
  
  //
 mail( "admin@mysite.com", $_POST['subject'], $_POST['message'], "From:" . $_POST['email'] ); 
  //			^
  //  Replace with your email 
}
?>

Вот пример одного лога, отправка, в качестве получателя - адрес на mail.ru, отправителя берет из формы.
Лог
Oct  5 07:35:17 ubuntu-2gb-nbg1-2 sendmail[22926]: 0955ZHUO022926: from=www-data, size=131, class=0, nrcpts=1, msgid=<202010050535.0955ZHUO022926@localhost.localdomain>, relay=www-data@localhost
Oct  5 07:35:17 ubuntu-2gb-nbg1-2 sm-mta[22927]: 0955ZHBg022927: from=<www-data@localhost.localdomain>, size=368, class=0, nrcpts=1, msgid=<202010050535.0955ZHUO022926@localhost.localdomain>, proto=ESMTP, daemon=MTA-v4, relay=localhost.localdomain [127.0.0.1]
Oct  5 07:35:17 ubuntu-2gb-nbg1-2 sendmail[22926]: 0955ZHUO022926: to=admin@mysite.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30131, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (0955ZHBg022927 Message accepted for delivery)
Oct  5 07:35:17 ubuntu-2gb-nbg1-2 sm-mta[22929]: STARTTLS=client, relay=emx.mail.ru., version=TLSv1.2, verify=FAIL, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256/256
Oct  5 07:35:17 ubuntu-2gb-nbg1-2 sm-mta[22929]: 0955ZHBg022927: to=<admin@mysite.com>, ctladdr=<www-data@localhost.localdomain> (33/33), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120368, relay=emx.mail.ru. [94.100.180.180], dsn=5.0.0, stat=Service unavailable
Oct  5 07:35:17 ubuntu-2gb-nbg1-2 sm-mta[22929]: 0955ZHBg022927: 0955ZHBg022929: DSN: Service unavailable
Oct  5 07:35:17 ubuntu-2gb-nbg1-2 sm-mta[22929]: 0955ZHBg022929: to=<www-data@localhost.localdomain>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent

А вот вывод скрипта, который рекомендуют для проверки работы sendmail.
скрипт
#!/bin/sh
RECIPIENT=admin@mysite.com
SENDER=absender@t-online.de
/usr/sbin/sendmail -Am -i -v -f$SENDER -- $RECIPIENT <<END
To: $RECIPIENT
From: $SENDER
Subject: test!

test!
END


вывод
admin@mysite.com... Connecting to emx.mail.ru. via esmtp...
220 emx.mail.ru ESMTP ready 
>>> EHLO localhost.localdomain
250-emx.mail.ru
250-SIZE 73400320
250-8BITMIME
250 STARTTLS
>>> STARTTLS
220 2.0.0 Start TLS
>>> EHLO localhost.localdomain
250-emx.mail.ru
250-SIZE 73400320
250 8BITMIME
>>> MAIL From:<absender@t-online.de> SIZE=87
250 2.0.0 OK
>>> RCPT To:<admin@mysite.com>
250 Go ahead
>>> DATA
354 Go ahead. End your data with <CR><LF>.<CR><LF>
>>> .
550 spam message rejected. Please visit http://help.mail.ru/notspam-support/id?c=GkMfWJupxeT9M078Pmf-JIwSps6sIApqkETr2KO6T0cqAAAAkqAAAEqz0B0~ or  report details to abuse@corp.mail.ru. Error code: 581F431AE4C5A99BFC4E33FD24FE673ECEA6128C6A0A20ACD8EB4490474FBAA3. ID: 0000002A0000A0921DD0B34A.
absender@t-online.de... Connecting to mx00.t-online.de. via esmtp...
554 IP=162.121.221.23 - A problem occurred. (Ask your postmaster for help or to contact tosa@rx.t-online.de to clarify.) (BL)
>>> QUIT
absender@t-online.de... Connecting to mx03.t-online.de. via esmtp...
absender@t-online.de... Closing connection to mx00.t-online.de.
554 IP=162.121.221.23 - A problem occurred. (Ask your postmaster for help or to contact tosa@rx.t-online.de to clarify.) (BL)
>>> QUIT
absender@t-online.de... Connecting to mx01.t-online.de. via esmtp...
absender@t-online.de... Closing connection to mx03.t-online.de.
554 IP=162.121.221.23 - A problem occurred. (Ask your postmaster for help or to contact tosa@rx.t-online.de to clarify.) (BL)
>>> QUIT
absender@t-online.de... Connecting to mx02.t-online.de. via esmtp...
absender@t-online.de... Closing connection to mx01.t-online.de.
554 IP=162.121.221.23 - A problem occurred. (Ask your postmaster for help or to contact tosa@rx.t-online.de to clarify.) (BL)
>>> QUIT
MAILER-DAEMON... Saved message in /var/lib/sendmail/dead.letter
Closing connection to mx02.t-online.de.
Closing connection to emx.mail.ru.
>>> QUIT
221 OK, bye

Экспериментальным путем выяснил, что этим проверочном скриптом можно доставить во входящие, менял много раз получателя и отправителя, разные пробовал.
Но даже если я жестко задаю те же самые получатель-отправитель в скрипт формы, все равно, в лучшем случае в спам...
Где что упускаю?
  • Вопрос задан
  • 226 просмотров
Подписаться 2 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Попробуйте отправить письмо на https://www.mail-tester.com/ и посмотрите результат.
Ответ написан
Комментировать
@q2digger
никого не трогаю, починяю примус
От какого домена рассылаете почту? от своего собственного?
если да, то настроены ли для домена DKIM , SPF и т.п.
Ответ написан
CityCat4
@CityCat4 Куратор тега Электронная почта
//COPY01 EXEC PGM=IEBGENER
Потому что видимо спамом и являются :) Надо отправить на mail-tester и посмотреть, что он скажет, как минимум. Тут обычно несколько причин:

- наличие (отсутствие) нужных заголовков
- наличие (отсутствие) нужных ключевых слов
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы