Senior: питання на співбесіді з теми «Mail»
Найпопулярніші питання з реальних Laravel/PHP співбесід для всіх рівнів
Всі теми
API
Authentication
Authorization
Broadcasting
Caching
Collections
Database
Debugging
DevOps
Eloquent
Enums
Events
Filament
Files
HTTP та Request
Livewire
Mail
Middleware
Notifications
Pagination
Performance
PHP
Queues
Scheduling
Search
Seeder
Service Container
Service Providers
Testing
Архітектура
Безпека
Локалізація
Масштабування
1 питання
Більшість причин лежить поза кодом - у DNS і репутації домену, - але частина залежить від застосунку.
Що налаштовується в DNS:
- SPF - перелік серверів, яким дозволено слати від імені домену.
- DKIM - криптопідпис листа; без нього провайдер не може підтвердити, що лист не підроблено.
- DMARC - політика на випадок, коли SPF чи DKIM не зійшлися.
Без цих трьох записів лист від нового домену з високою ймовірністю не дійде до вхідних.
Що залежить від застосунку:
- Адреса відправника з власного домену.
fromвидуnoreply@gmail.comне пройде перевірку - домен уfromмає збігатися з тим, для якого налаштовані SPF і DKIM. - Транзакційне окремо від масового. Розсилка з поганим показником відкриттів псує репутацію домену, і за нею перестають доходити листи про відновлення пароля. Часто для розсилок беруть окремий піддомен.
- Відписка. Для масових листів заголовок
List-Unsubscribeобовʼязковий: без нього люди тиснуть «спам» замість відписки, і це найгірший сигнал. - Текстова версія. Лист без
text/plainчастина фільтрів вважає підозрілим. - Обробка bounce. Слати на адресу, що повертає помилку, місяцями - прямий шлях до блокування; провайдери дають вебхуки, які варто слухати.
Практично: транзакційну пошту віддають спеціалізованому сервісу (Mailgun, Postmark, SES), а не SMTP власного сервера, - вони тримають репутацію IP і дають статистику доставки. У Laravel це лише зміна MAIL_MAILER.