0

I need to attach file to my email. I have input for my file.

<input type="file" name="zalacznik" value="zalacznik" id="zalacznik" class="form-text">

and rest of my code to send message. Now, how Can I add file from my input to my email using standard PHP Mail functions etc?

<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: text/html; charset=utf-8');
if($_POST) {

$email_sender = "xxx@xxx.com";
$email_to = "yyy@yyy.com";

    
if ( !isset($_POST['imie']) || !isset($_POST['adres_email']) || !isset($_POST['nazwisko'])  ) {
    died("Wystąpił błąd! Wypełnij obowiązkowe pola!");      
}

$email_subject = "Formularz kontaktowy";
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];
$data_urodzenia = $_POST['data_urodzenia'];
$adres_zamieszkania = $_POST['adres_zamieszkania'];
$telefon_kontaktowy = $_POST['telefon_kontaktowy'];
$adres_email = $_POST['adres_email'];
$wyksztalcenie = $_POST['wyksztalcenie'];
$obecne_zatrudnienie = $_POST['obecne_zatrudnienie'];
$nazwa_dzialalnosci = $_POST['nazwa_dzialalnosci'];
$pkd = $_POST['pkd'];
$zarzadzanie_ludzmi = $_POST['zarzadzanie_ludzmi'];
$branza_gastronomiczna = $_POST['branza_gastronomiczna'];
$jedyne_zajecie = $_POST['jedyne_zajecie'];
$srodki_wlasne = $_POST['srodki_wlasne'];
$zdolnosc_kredytowa = $_POST['zdolnosc_kredytowa'];
$zdolnosc_leasingowa = $_POST['zdolnosc_leasingowa'];
$czas_kapital = $_POST['czas_kapital'];
$skad_wiesz = $_POST['skad_wiesz'];
$inne_oddzialy = $_POST['inne_oddzialy'];
$yes_place = $_POST['yes_place'];
$no_place = $_POST['no_place'];
$yes_wyrok = $_POST['yes_wyrok'];
$no_wyrok = $_POST['no_wyrok'];
$yes_prawo_jazdy = $_POST['yes_prawo_jazdy'];
$no_prawo_jazdy = $_POST['no_prawo_jazdy'];
$interesujace_miasta = $_POST['interesujace_miasta'];
$precyzyjna_lokalizacja = $_POST['precyzyjna_lokalizacja'];
$wojewodztwa = $_POST['wojewodztwa'];
$zalacznik = $_POST['zalacznik'];



$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';

if(!preg_match($email_exp,$adres_email)) {
died("Wystąpił błąd! Podany adres e-mail ma nieprawidłowy format.<br />");
}

// $email_message .= $tresc;
    $email_message = "Treść wiadomości:\n\n";

$headers = 'Content-type: text/plain: charset=UTF-8'."\r\n".
'From: <'.$email_sender.">\r\n".
'Reply-To: '.$adres_email."\r\n".
//'BCC: '.$bcc."\r\n".
'X-Mailer: PHP/' . phpversion();

$email_message .= "\n\n"."Dane osobowe:\n";
$email_message .= "Imię: ".$imie."\n";
$email_message .= "Nazwisko: ".$nazwisko."\n";
$email_message .= "Data urodzenia: ".$data_urodzenia."\n";
$email_message .= "\n\n"."Dane teleadresowe:\n";
$email_message .= "Adres zamieszkania: ".$adres_zamieszkania."\n";
$email_message .= "Telefon kontaktowy: ".$telefon_kontaktowy."\n";
$email_message .= "E-mail: ".$adres_email."\n";
$email_message .= "\n\n"."Ankieta zawodowa:\n";
$email_message .= "Wykształcenie (szkoła, rok ukończenia): ".$wyksztalcenie."\n";
$email_message .= "Obecne miejsce zatrudnienia (adres, stanowisko, data zatrudnienia): ".$obecne_zatrudnienie."\n";
$email_message .= "Nazwa działalności i NIP na który może zostać zawarta umowa franczyzowa: ".$nazwa_dzialalnosci."\n";
$email_message .= "Przeważający rodzaj działalności w zgodzie z PKD: ".$pkd."\n";
$email_message .= "Czy posiada Pan/Pani doświadczenie w zarządzaniu ludźmi (jeśli tak, to jakie?): ".$zarzadzanie_ludzmi."\n";
$email_message .= "Czy posiada Pan/Pani doświadczenie związane z branżą gastronomiczną?: ".$branza_gastronomiczna."\n";
$email_message .= "Czy prowadzenie xxx ma być Pana/Pani jedynym, czy dodatkowym zajęciem?: ".$jedyne_zajecie."\n";
$email_message .= "Środki własne: ".$srodki_wlasne."\n";
$email_message .= "Zdolność kredytowa: ".$zdolnosc_kredytowa."\n";
$email_message .= "Ilość potrzebnego czasu na zgromadzenie przez Pana/Panią potrzebnego kapitału (w miesiącach): ".$czas_kapital."\n";
$email_message .= "Zdolność leasingowa: ".$zdolnosc_leasingowa."\n";
$email_message .= "Czy jest Pan/Pani gotów/gotowa zmienić miejsce zamieszkania?: ".$yes_place." ".$no_place. "\n";
$email_message .= "Czy był/ła Pan/Pani kiedykolwiek skazany/a wyrokiem sądowym?: ".$yes_wyrok." ".$no_wyrok. "\n";
$email_message .= "Czy posiada Pan/Pani prawo jazdy kategorii B?: ".$yes_prawo_jazdy." ".$no_prawo_jazdy. "\n";
$email_message .= "Skąd dowiedział/a się Pan/Pani o możliwości franczyzy?: ".$skad_wiesz."\n";
$email_message .= "Czy zna Pan/Pani jakieś oddziały sieci xxx (jeśli tak, to jakie)?: ".$inne_oddzialy."\n";
$email_message .= "\n\n"."Obszar franczyzy:\n";
$email_message .= "Lista województw: ".$wojewodztwa."\n";
$email_message .= "Proszę o wypisanie interesujących miast: ".$interesujace_miasta."\n";
$email_message .= "Czy posiada Pan/Pani sprecyzowaną lokalizację miejsca otwarcia restauracji xxx (jeśli tak, to proszę podać dokładny adres): ".$precyzyjna_lokalizacja."\n";
$email_message .= "Zalacznik: ".$zalacznik."\n";

if ( !mail($email_to, $email_subject, $email_message, $headers) )
{died("Wystąpił błąd! Nie udało się wysłać wiadomości!");}

header("Location: ../../info/kontakt/potwierdzenie");  

}

else { died("Wystąpił błąd!"); }  

function died($error) {
    echo $error;
    die();
}

?>
Nimantha
  • 6,405
  • 6
  • 28
  • 69
MMPL1
  • 533
  • 7
  • 21
  • 2
    Possible duplicate of [Send attachments with PHP Mail()?](https://stackoverflow.com/questions/12301358/send-attachments-with-php-mail) – castis Jun 29 '17 at 13:11
  • I don't want to use PHPMailer or any other external library. Just pure PHP – MMPL1 Jun 29 '17 at 13:13
  • There is more than one answer in that question. – castis Jun 29 '17 at 13:15
  • maybe I'm too stupid but I don't know how to do it :/ – MMPL1 Jun 29 '17 at 13:23
  • I very much doubt that. check out the third answer, the one with 71 votes. you'll need to turn the file into a text representation and then embed it into a specifically structured text block for sending. you already have some of that structure in place. try using their code and sending a very simple file to yourself first. – castis Jun 29 '17 at 14:13

0 Answers0