Odnosząc się do wiadomości:
Aktualizacja zabezpieczeń antyspamowych na serwerach pocztowych
https://pomoc.home.pl/komunikaty/1067
W przypadku niektórych skryptów, może być wymagana ich edycja w taki sposób, aby poprawny adres e-mail nadawcy znajdował się w nagłówku. Przykładowo, może być to modyfikacja, która dodawałaby linię zawierającą poprawny nagłówek: "from: adres@domena.pl", np.:
dodanie do funkcji mail(); dodatkowego parametru zawierającego poprawny e-mail: "-f adres@domena.pl".
Przykład: mail($to, $subject, $message, $headers, "-f adres@domena.pl");
Piąty parametr funkcji mail() dodaje wpisane parametry do funkcji wysyłającej, a -f definiuje pole "from" w nagłówku.
Zawsze używałem poniższego formularza kontaktowego na serwerach home.pl.
Od lipca listy nie dochodzą do adresatów, jeśli nie mają założonej skrzynki na serwerach home.pl
Jak to naprawić?
Z góry serdecznie dziękuję za pomoc.
Preibx
plik: wyslij.php
CODE
<?php
//sprawdzenie czy zalcznik pochodzi z formularza
if ($_POST["wyslij"]==0) // 1 to załączniki dodawane, 0 to bez załczników
{
srand((double)microtime()*1000000);
$znacznik = md5(uniqid(rand()));
// zmienne
$imnaz = $_POST["imnaz"];
$tel = $_POST["tel"];
$email = $_POST["email"];
$tresc = $_POST["tresc"];
// tresc listu
$tresclistu = "
Treść listu:
Nadawca: $imnaz
Adres e-mail: $email
Treść:
$tresc
";
// dane o odbiorcy, nadawcy
$odbiorca="adres na jaki zostanie wysłana wiadomość";
$tytul="Temat listu";
$redirectURL = "podziekowanie.php"; // the URL of the thank you page.
$redirectblad = "blad.php"; // the URL of the thank you page.
// definicja naglowka
$naglowki = "From: $nick <$email>\n";
$naglowki .= "MIME-Version: 1.0\n";
$naglowki .= "Content-Type: multipart/mixed;\n";
$naglowki .= "\tboundary=\"___$znacznik==\"";
// naglowki listu
$tresc="--___$znacznik==\n";
$tresc .="Content-Type: text/plain; charset=\"utf-8\"\n";
$tresc .="Content-Transfer-Encoding: 8bit\n";
$tresc .="\n$tresclistu\n";
// naglowki i obsługa załącznika
$plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
$plik_wielkosc = $_FILES["plik1"]["size"];
if (is_uploaded_file($plik_nazwa_tmp))
{
$tresc .="--___$znacznik==\n";
$tresc .="Content-Type: image/gif\n";
$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
$tresc .="Content-Transfer-Encoding: base64\n\n";
$f = fopen($plik_nazwa_tmp,"rb");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}
// wysłanie listu
if (mail($odbiorca,$tytul,$tresc,$naglowki))
{
header("Location: ".$redirectURL);
}
else
{
header("Location: ".$redirectblad);
}
}
?>