2015-05-28 3 views
0

Мне нужна помощь с формой html, которая отправляет почту через PHP с прикреплением изображения, я пробовал простой код и отправлял сообщение, есть все тексты и даже имя изображения, но не фактическое изображение, i Не совсем уверен, как это сделать, я пробовал много кодов, но никто из них не работает. Im horious извините, если на это уже был дан ответ, но я искал несколько часов и ничего не мог найти.Как отправить изображение в виде вложения по почте

вот мой HTML

<div class="uk-alert uk-alert-large uk-alert-success" style="float: right; width: 25%; padding: 30px;">Registration for competitors 
 
<form action=".../registration.php" method="POST" enctype="multipart/form-data"> 
 
<br />Full Name:<br /> <input type="text" name="name" required/> 
 
<br /> Country: <br />*At least one team member has to have the citizenship of the chosen country. 
 
<br /><input type="text" name="krajina" required/> <br /> Full name of your team mate:<br /> 
 
<input type="text" name="tym" required/> 
 
<br /> Email:<br /> 
 
<input type="text" name="email" required/> At least 3 pictures of your previous work: 
 
<input id="fileToUpload" placeholder="Select an image to Upload" type="file" name="fileToUpload" required/>

<?php 
 
$name = $_POST['name']; 
 
$email = $_POST['email']; 
 
$tym = $_POST['tym']; 
 
$krajina = $_POST['krajina']; 
 
$target_dir = "images/"; 
 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
 
$uploadOk = 1; 
 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
 

 
if(isset($_POST["submit"])) { 
 
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
 
    if($check !== false) { 
 
     echo "File is an image - " . $check["mime"] . "."; 
 
     $uploadOk = 1; 
 
    } else { 
 
     echo "File is not an image."; 
 
     $uploadOk = 0; 
 
    } 
 
} 
 
$formcontent=" Uzivatel: $name \ email: $email \ jeho kolega: $tym \ z krajiny: $krajina \ sa hlasi na event Tatry ice master chalenge 2016 \ $target_file" . "\r\n"; 
 
$recipient = "[email protected]"; 
 
$subject = "Registracia na Specialny Event"; 
 
$mailheader = "From: $email\nMIME-Version: 1.0\nContent-Type: text/html; charset=utf-8\n"; 
 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 
 
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
 
echo header("Location: http://www.iceart.club/special-events"); 
 
die(); 
 
?>
спасибо всем за любую помощь

ответ

0

попробуйте эту ссылку here

Чтобы использовать PHPMailer:

  • Скачать PHPMailer сценарий здесь: http://github.com/PHPMailer/PHPMailer

  • Распакуйте архив и скопируйте папку скрипта в удобное место в вашем проекте.

  • Включите основной файл сценария - require_once ('путь/в/файл/класс.phpmailer.php');

Теперь, отправка электронной почты с вложениями идет от безумно трудно невероятно легко:

$email = new PHPMailer(); 
$email->From  = '[email protected]'; 
$email->FromName = 'Your Name'; 
$email->Subject = 'Message Subject'; 
$email->Body  = $bodytext; 
$email->AddAddress('[email protected]'); 

$file_to_attach = 'PATH_OF_YOUR_FILE_HERE'; 

$email->AddAttachment($file_to_attach , 'NameOfFile.pdf'); 

return $email->Send(); 

Это просто одна строка $ email-> AddAttachment(); - Вы не могли бы попросить о нем легче.

Если вы сделаете это с помощью функции mail() PHP, вы будете писать стопки кода, и вам, вероятно, придется очень много найти ошибки.

+0

большое спасибо i'm хочу попробовать это probbably наилучшее решение я тратить слишком много времени на этот глупый маленький код – 5vkr08

0
$mail->AddEmbeddedImage('img/2u_cs_mini.jpg', 'logo_2u'); 

и тега поместить SRC = «ИДС logo_2u»

+0

извините, но как именно это мне поможет? Мне не нужно src для изображения, я должен загрузить его, а затем отправить его, но спасибо в любом случае – 5vkr08

Смежные вопросы