Witam.
Napisałem kawałek kodu, który wysyła mi ze strony obrazek na mój e-mail. Samo tworzenie załącznika działa poprawnie, lecz w e-mailu brakuje zawartości tekstowej, którą dodaję do wiadomości.
<?php
$informacja = "success_img";
$flaga = TRUE;
$adresat = 'podsmoczymdiamentem@gmail.com';
if (!isset($_POST['submit'])) {
$informacja = "error_submit";
$flaga = FALSE;
}
$upload_name=$_FILES["upload"]["name"];
$upload_type=$_FILES["upload"]["type"];
$upload_size=$_FILES["upload"]["size"];
$upload_temp=$_FILES["upload"]["tmp_name"];
if ($upload_size > 1048576)
{
$informacja = 'error_img_size';
$flaga = FALSE;
}
$pieces = explode("/", $upload_type); if ($pieces[0] != "image")
{
$informacja = 'error_img_type';
$flaga = FALSE;
}
if ($upload_temp == ''){
$informacja = 'error_img_none';
$flaga = FALSE;
} else
{
$fp = fopen($upload_temp, "rb"); $file = fread($fp, $upload_size);
}
$autor = $_POST['autor'];
if ($autorTemp == '')
{
$informacja = 'error_name';
$flaga = FALSE;
}
$nadawca = $_POST['e-mail'];
if ($nadawcaTemp == '')
{
$informacja = 'error_email';
$flaga = FALSE;
}
$komentarz = $_POST['komentarz'];
$tresc = "Witaj Marcinie. Użytkownik <b>$autor</b> nadesłał obrazek do twej karczmy. Jakbyś chciał się z nim
skontaktować, tu jest jego adres:<br><a href='mailto:$nadawca'>$nadawca</a><br><br> Zdjęcie jest w
załączniku.<br><br><b>Komentarz:</b><br> $komentarz";
$subject = "$autor nadesłał zdjęcie.";
$headers = "From: Pod Smoczym Diamentem<podsmoczymdiamentem@gmail.com>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; ";
$headers .= "boundary=".$num."\r\n";
$headers .= "--$num\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers .= $tresc."\n";
$headers .= "--".$num."\n";
$headers .= "Content-Type:".$upload_type." ";
$headers .= "name=\"".$upload_name."\"r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment; ";
$headers .= "filename=\"".$upload_name."\"\r\n\n";
$headers .= "".$file."\r\n";
$headers .= "--".$num."--";
if ($flaga == TRUE)
{
$mail_sent = @mail( $adresat, $subject, $tresc, $headers); if($mail_sent == FALSE)
{
$informacja = "error_send";
}
}
if ($upload_temp != '')
{
}
$url = 'location:http://podsmoczymdiamentem.blogspot.com/2013/08/przeslij-grafike.html?info=';
$url .= $informacja;
?>
Musi tu być gdzieś jakiś błąd. Normalnie nie pracuję na PHP i ciężko mi znaleźć co jest nie tak. Czy ktoś byłby w stanie powiedzieć mi, czemu $tresc nie jest widoczna w samej wiadomości e-mail? Dostaję jedynie sam załącznik.
Pozdrawiam