Доброго всем дня.
Есть postfix, есть сайт на openSUSE, на нем форма запроса (читай: обратная связь), которая должна отправлять письмецо посредством mail() на определенную почту. Проблема в следующем: при попытке отправки письма с заголовками, письмо уходит, но его блокирует шлюз (уходит точно, проверял). Если headers'ы отсутствуют, то письмо приходит куда надо, но, соответственно, без заголовков.
Вопрос: почему заголовки могут не пропускаться?
Также есть мысль, что почта уходит не через нужный почтовый сервер (192.168.15.1, к примеру), а через что попало.
Или, например, на сайте/сервере прописаны неверные логин/пароль почты или неверный адрес почтового севера, через который нужно работать, поэтому и отсылается почта не оттуда, откуда нужно. Админ мог поменять пароль от почты, к примеру. Раньше все работало, поэтому и возникла мысль о проблеме с логопассом/сервером.
Где эти данные могут быть прописаны для сайта и postfix'а? В main.cf (postfix) не нашел, в коде сайта тоже никакой информации по этому поводу нет. На сервере все настроено нормально, почта ходит.
Вот, если что, код заголовков ($to,$subject,$text, $from заполняются предварительно в другой функции и на этот момент уже являются статичными):
function MailTo($to,$subject,$text, $from) {
$msg = $text;
$headers = "From:".convert_cyr_string($from,'w','k')."\r\n";
$headers .= "Reply-To: ".convert_cyr_string($from,'w','k')." \r\n";
$headers .= "X-Priority: 3 (Normal)\r\n";
$headers .= "X-Mailer: SXMM V 1.0beta\r\n";
$headers .= "Organization: ".substr(md5(time()),0,7)."\r\n";
$headers .= "Return-path: ".convert_cyr_string($from,'w','k')." \r\n";
$subject="=?koi8-r?B?".base64_encode(convert_cyr_string($subject,'w','k'))."?=";
$headers .= "Subject: ".$subject."\r\n";
$headers .= "Date: ".date("D, d M Y H:i:s O")."\r\n";
$headers .= "X-Spam: Not detected\r\n";
$headers .='Content-Type: text/plain; charset="koi8-r" \n\n';
if (@mail($to, $subject, $msg, $headers)){
return true;
} else {
return false;}
}
Спасибо.