Еще раз про SwiftMailer и СПАМ

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Gil707
Сообщения: 20
Зарегистрирован: 2017.08.01, 13:15

Еще раз про SwiftMailer и СПАМ

Сообщение Gil707 »

Доброго времени суток, второй день пытаюсь разобраться с мэйлером, не понимаю почему он шлет в спам почту, настройки следующие (на данный момент). Хостинг FastVPS

Код: Выделить всё

        'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'useFileTransport' => false,
        ],
Отправка письма через шаблон

Код: Выделить всё

Yii::$app->mailer->compose('orderconfirm', ['order' => $order,
                                                            	   'user_discount' => $user->discount,
                                                           	   'products' => Product::find()->where(['z_id'=> $order->id, 'basket' => 0])->all())
                    ->setFrom([Yii::$app->params['pwdresetEmail'] => '(send by bot)'])
                    ->setTo($mailaddr)
                    ->setSubject('Ваш заказ №' . $order->id . 'оформлен!')
                    ->send();
 
По умолчанию идет в спам, я пытался настроить smtp (в конфиг добавлял следующий код) не хочет

Код: Выделить всё

'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'site.com',
                'username' => 'noreply@site.com',
                'password' => '***',
                'port' => '587',
                'encryption' => 'STARTTLS',
            ],
Подсмотрел на стаковерфлоу о подстановке заголовков, примерно так

Код: Выделить всё

$message = Yii::$app->mailer->compose(...);
$message->getSwiftMessage()->getHeaders()->addTextHeader('name', 'value');
Но PHPStorm сразу говорит в подсказке, что метод getSwiftMessage() не найден в yii\mail\MessageInterface
Подскажите куда копать? Хочется бросить и написать через просто mail()...
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: Еще раз про SwiftMailer и СПАМ

Сообщение proctoleha »

Gil707 писал(а): 2018.02.21, 12:46 Доброго времени суток, второй день пытаюсь разобраться с мэйлером, не понимаю почему он шлет в спам почту
Что значит шлет в спам почту? Может почтовые сервисы (mail, yandex, google) помещают её в спам?

Особенно этим грешит mail.ru

У меня, когда я был на FirstVds, при смене тарифа на более высокий, выдали ip из черного списка. Так у меня не то, что почта не работала, у меня антивирусы не давали зайти на вполне добропорядочные служебные сайты.

Так, что для начала пробейте ваш ip по black листам.
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
Gil707
Сообщения: 20
Зарегистрирован: 2017.08.01, 13:15

Re: Еще раз про SwiftMailer и СПАМ

Сообщение Gil707 »

Связались с поддержкой хостера, говорят -
Благодарим за информацию. Так как почта домена guron.biz обслуживается Вашим локальным почтовым сервером, Вам не нужно использовать для этого SMTP-транспорт, а следует производить отправку соответствующей php-функцией mail. В данный момент мы скорректировали для Вас настройки Вашего почтового сервера, а также добавили необходимые DNS-записи для корректной работы почты и чтобы она не попадала в спам. К сожалению, из-за особенностей работы системы DNS подобные изменения вступают в силу не мгновенно, а обычно в течение 8-12 часов.
Я ставил такие заголовки уже

Код: Выделить всё

$message->getSwiftMessage()->getHeaders()->addTextHeader('Message-ID', time()." TheSystem@".$_SERVER['SERVER_NAME']);
                $message->getSwiftMessage()->getHeaders()->addTextHeader('MIME-Version', '1.0');
                $message->getSwiftMessage()->getHeaders()->addTextHeader('X-Mailer', 'PHP v' . phpversion());
                $message->getSwiftMessage()->getHeaders()->addTextHeader('Content-Type', 'text/html');
                $message->getSwiftMessage()->getHeaders()->addTextHeader('Charset', 'utf-8');
                
Ошибок нет, но все равно в спаме.
Причем с абракадаброй

Код: Выделить всё

--_=_swift_v4_1519213148_7db5a1d435e3282b08f07d7bd7d6cd26_=_ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable =D0=9F=D0=BE=D1=81=D1=80=D0=B5=D0=B4=D0=BD=D0=B8=D0=BA GURON =D1=80=D0= =B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82 =D0=B4=D0=BB=D1=8F =D0=B2=D0=B0= =D1=81 =D1=81 2010 =D0=B3=D0=BE=D0=B4=D0=B0! http://vk.com/guronbiz - = =D0=BD=D0=B0=D1=88=D0=B0 =D0=B3=D1=80=D1=83=D0=BF=D0=BF=D0=B0 =D0=B2 =D0= =9A=D0=BE=D0=BD=D1=82=D0=B0=D0=BA=D1=82=D0=B5. .... 
Проверяли на mail.ru, google, yandex, protonmail...
Nex-Otaku
Сообщения: 831
Зарегистрирован: 2016.07.09, 21:07

Re: Еще раз про SwiftMailer и СПАМ

Сообщение Nex-Otaku »

Очень просто.

Есть сервисы, которые показывают подробно ваш спам-рейтинг и список того, что нужно исправить.

Например, я пользовался этим: https://www.mail-tester.com

Отправляете туда письмо, смотрите, на что ругается, исправляете, снова отправляете письмо, и так до победного.

Что нужно обязательно сделать:

1. Проверить содержание (mail body) и тему письма (mail subject). Например, некоторые мои письма падали в спам, потому что была аббревиатура в теме письма, фильтр принял её за "капс".

2.
Настроить SPF, DKIM, DMARC. Это делается через настройки домена + подпись DKIM в коде отправки письма.
Gil707
Сообщения: 20
Зарегистрирован: 2017.08.01, 13:15

Re: Еще раз про SwiftMailer и СПАМ

Сообщение Gil707 »

Nex-Otaku писал(а): 2018.02.21, 21:36 Очень просто.

Есть сервисы, которые показывают подробно ваш спам-рейтинг и список того, что нужно исправить.

Например, я пользовался этим: https://www.mail-tester.com

Отправляете туда письмо, смотрите, на что ругается, исправляете, снова отправляете письмо, и так до победного.

Что нужно обязательно сделать:

1. Проверить содержание (mail body) и тему письма (mail subject). Например, некоторые мои письма падали в спам, потому что была аббревиатура в теме письма, фильтр принял её за "капс".

2.
Настроить SPF, DKIM, DMARC. Это делается через настройки домена + подпись DKIM в коде отправки письма.
Спасибо, решилось!
Ответить