Wysyłanie wiadomości do maili z pliku

0

Witam, piszę skrypt, który ma wysyłać jednego maila do wielu osób i mają być 2 opcje. Ręczne wpisanie maili, do których ma być wysłana wiadomość, lub pobranie tych maili z pliku. 1 opcja działa jak najbardziej poprawnie, problem przychodzi przy drugiej. Nie wywala mi żadnego błędu, ale zwyczajnie nic się nie robi.
Kod inputów:

<tr><td>Twoj mail: </td><td><input type=email name=email placeholder="Opcjonalnie" /></td></tr>
<tr><td>Maile, na ktora maja <br>byc wyslane wiadomosci: </td><td><textarea name=maile rows=10 cols=20 ></textarea></td></tr>
<tr><td>Albo wyslij plik z mailami na serwer: </td><td><input type=hidden name="MAX_FILE_SIZE" value="50000"/><input name=plik type=file /></td></tr>
<tr><td>Temat wiadomosci: </td><td><input type=text name=temat /></td></tr>
<tr><td>Wiadomosc: </td><td><textarea name=wiadomosc rows=8 cols=30 ></textarea></td></tr>
<tr><td><input type=reset value=Resetuj /></td><td><input type=submit value=Wyslij! /></td></tr>
 

A tu część php, która odpowiada za wysłanie wiadomości na maile z pliku:

 
else if(empty($_POST['maile']) & !empty($_POST['plik']))
{
	$pik = $_POST['plik'];
	$plik = fopen($pik, 'r');
	$zawartosc = fread($plik, '50000');
	$mailee = array($zawartosc);
	foreach($mailee as $maile)
		{
			$mail = mail($maile, $temat, $wiadomosc);
		}
	if($mail)
		{
			echo "Wyslano wiadomosci do maili {$mailee}";
		}
	else
		{
			echo "Nie wyslano!";
		}
}

Błagam dosłownie o pomoc, nie mam pojęcia co jest źle/jak to dobrze zrobić.

0

Proponuję wpisać "uploadowanie plików php" w Google. Zupełnie nie tak obsługuje się upload przez PHP. Hint: Jak już ogarniesz działanie tablicy $_FILES to pamiętaj też o ustawienie enctype w <form>.

0

weź też pod uwage ze jesli chcesz z tego skryptu wysyłać dużo maili, to narażasz się trochę. W przypadku jeśli Twój skrypt przestanie działać w połowie, nie będziesz w stanie określić do kogo już wysłałeś maila, a do kogo jeszcze nie.

Lepiej stwórz sobie jakąś tabelę w bazie (np. mail_queue), tym skryptem dodawaj do tej tabeli wpisy. A następnie innym skyptem odpalanym cyklicznie np. cronem wysyłaj te maile pojedynczo. Po wysłaniu usuń je z bazy. Wtedy po pierwsze dzielisz wysylke na mniejsze paczki, a po drugie nie masz problemów jeśli skrypt Ci padnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1