Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

dmn

[PHP] wbudowana funkcja mail()

Polecane posty

Witam!

na początku chcialem sie poradzić czy funkcja mail() w jakichś nietypowych sytuacjach moze nie wyslac mejla mimo poprawnych danych?

mam kod do wysyłania poprawny na 99.9% , wczoraj pół dnia sie głowiłem i nic nie wymyslilem, więc jeśli wiecie w jakiej sytuacji mail moze nie dochodzić to bede wdzieczny.

sprawdzałem na darmowym hostingu 2ap , gdzie owa funkcja nie jest zablokowana, a także na localhost - bez efektów, mimo że mail() zwracała TRUE za kazdym razem a adres mejlowy podany jako parametr funkcji był prawidłowy... mail($odbiorca, $temat, $tresc)

macie jakaś poradę co powinienem sprawdzić?

a oto kod PHP, gdyby jednak błąd miał tkwić w kodzie:

<?php

$from = 'moj@mejl.pl';
$temat = $_POST['subject'];
$txt = $_POST['elvismail'];

include_once 'polaczenie_z_baza2.php';

$zapytanie = "SELECT * FROM adresy_email";
$wynik = mysqli_query($dbc, $zapytanie) or die('Blad w zapytaniu');

while ($row = mysqli_fetch_array($wynik))
{
    $imie = $row['imie'];
    $nazwisko = $row['nazwisko'];
    $email = $row['email'];
    
    $tresc = "Drogi $imie $nazwisko,\n $txt";
    
    mail($email, $temat, $tresc, 'From:'.$from);
    
    if (mail($email, $temat, $tresc, 'From:'.$from))
        echo "wyslano mejla pod adres: $email <br/>";
    else
    echo 'NIEEEE wyslalem';
    
}

mysqli_close($dbc);
?>

Link do komentarza
Udostępnij na innych stronach

Z tego co pamiętam, jako czwarty parametr (opcjonalnie ) powinien być nagłówek dołączany do maila. Jeśli go nie podamy, to jest on pobierany zgodnie z ustawieniami w php.ini.

W każdym razie problem prawdopodobnie tkwi w tych nagłówkach. Poprzeglądaj sobie dokumentację php, tam zazwyczaj są przykłady o co chodzi.

Link do komentarza
Udostępnij na innych stronach

około grudnia gdy po raz pierwszy testowałem tę funkcję z 3 parametrami to dzialalo - natomiast z czwartym 'From: $nadawca' juz nie.

Obecnie nie dziala w żadnym wariancie... myślisz że coś mi sie w konfiguracji kompa/pliku php.ini pochrzaniło przez ten czas?

z innego kompa (ale z tego samego IP) tez sie nie wysyła jak testuje wrzucona aplikacje na hosting...

edit:

może dokleje zawartość xamppowego php.ini... ale to nie ma związku chyba skoro nawet na zewnetrznym serwerze nie dziala

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

Link do komentarza
Udostępnij na innych stronach

Mam jeszcze jedno pytanko odnośnie tej funkcji.

Czy opcjonalny, czwarty parametr nagłówka 'From: ' . $nadawca nie powinien zmieniać adresu nadawcy z php-script@adres.hosta na wartość zmiennej $nadawca?

w moim przypadku dodaje się tylko trzecia opcja "Adres zwrotny : $nadawca"

Uzywam programu pocztowego Opery, ale to chyba bez wiekszego znaczenia...

sprawdzałem jeszcze nagłówek 'Reply-to: $nadawca', ale ten nic nie dodaje w mejlu... jakby skrypt go ignorował.

Może to zalezeć np. od konfiguacji PHP na serwerze hosta? Jeśli tak to bardzo bym był wdzięczny za podanie jakiegoś darmowego w ktorym będę mógł przetestować całą funkcję bez tego problemu i powyższych ;]

na 2ap poki bylo za free mail() w ogloe nie dzialala, na yoyo zadzialala jednorazowo ;)

obecnie opisany problem występuje u mnie na darmowym hostingu aq.pl - dziala dobrze tylko nadawcy nie podmienia.

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...