Без додаткових налаштувань функція mail надсилає поштові повідомлення від імені скриньки, що не існує зазвичай у вашому акаунті. Це може призводити до потрапляння таких листів у СПАМ на стороні отримувача.
Але найбільш важливе, що зі зламаних зловмисниками сайтів СПАМ надсилається також з адрес скриньок, яких насправді не існує на вашому сайті.
Розсилка СПАМу з сайтів заборонена правилами користування послугами хостингу, це призводить до санкцій зі сторони ДатаЦентру, де розміщено сервери, а також додає інших негативних наслідків – наприклад створює негативну “репутацію” у рейтингу результатів пошуку вашого доменного імені.
На нашому хостингу блокуються листи, відправлені від імені скриньок, яких не існує. Тому для коректної роботи форм зв’язку, повідомлень про замовлення, сповіщень про коментарі та інших листів, які надсилаються з сайтів, ми пропонуємо скористатися простим рішенням- надсилання листів через SMTP.
Надсилання повідомлень з сайту через SMTP, на відміну від користування функцією mail() – є більш надійнішою і коректнішою для поштових серверів. Вірогідність доставки листа, потрапляння його у папку “Вхідні” (а не СПАМ) – значно збільшується.
Для таких налаштувань різноманітні системи, на зразок WordPress / Opencart / Drupal, мають відповідні опції в адіністративній частині сайту або плагіни, що ці опції додають (https://wphost.me/faq-category/poshta/)
Якщо ж з певних причин Вам необхідно скористатися саме функцією mail() , скористайтеся “хаком”, описаним нижче.
Для початку потрібно створити (якщо не маєте) поштову скриньку, від імені якої будуть надсилатись листи з Вашого сайту, наприклад email@domain.com
Скринька має бути створена обов’язково у Вашому акаунті, сторонні скриньки не спрацюють для цього методу. Як створити скриньку на нашому хостингу описано у цій статті .
В коді, де ви описуєте виклик функції mail(), додайте ще один параметр у цю функцію (additional_parameters), вказавши опцію -f у ньому, а також створену раніше скриньку, наприклад email@domain.com.
Якщо виклик виглядав приблизно так:
mail('адреса@кому.com', 'Тема’, 'Повідомлення');
то зробіть так:
mail('адреса@кому.com', 'Тема', 'Повідомлення', null, '-femail@domain.com');
Зауважте, що опція -f та скринька email@domain.com пишуться разом.