2012-05-07 1 views
0

Что является самым простым способом загрузить файл с этим: <input type="file" name="clanlogo"> и отправить его по электронной почте на адрес «[email protected]». Я исследовал, но нашел супер сложные коды и прочее. Мне нужно отправить его в качестве приложения. В PHP. Вот код, я до сих пор:Загрузите файл и отправьте его по электронной почте с помощью PHP?

<?php 

## CONFIG ## 

# LIST EMAIL ADDRESS 
$recipient = "my email Here"; 

# SUBJECT (Contact Form/Remove) 
$subject = "Volunteer Form"; 

# RESULT PAGE 
$location = "thank_you.html"; 

## FORM VALUES ## 

# SENDER 
$email = $_REQUEST['email'] ; 

# MAIL BODY 
$body .= "First Name: ".$_REQUEST['first_name']." \n"; 

$body .= "Last Name: ".$_REQUEST['last_name']." \n"; 

$body .= "Email: ".$_REQUEST['email']." \n"; 

$body .= "Volunteer Choice: ".$_REQUEST['dropdown']." \n"; 

$body .= "Questions: ".$_REQUEST['comments']." \n"; 
# add more fields here if required 

## SEND MESSGAE ## 

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

+0

написать код, когда вы застряли, то спросите. не ожидайте, что другие напишут это для вас. –

+0

Извините, я думал, что добавил новую часть, подождите секунду. –

+0

Используйте PHPMailer или Swiftmailer, чтобы сделать фактическую часть рассылки. Создание собственных электронных писем MIME является болезненным и подверженным ошибкам. –

ответ

0

PHPMailer Скачать класс и попробовать это ...

<html> 
<head> 
<title>PHPMailer - Mail() basic test</title> 
</head> 
<body> 

<?php 

require_once('class.phpmailer.php'); 

$mail = new PHPMailer();  
$mail->SetFrom('[email protected]', 'First Last'); 
$mail->AddReplyTo("[email protected]","First Last"); 

$address = "[email protected]"; 
$mail->AddAddress($address, "John Doe"); 

$mail->Subject = "PHPMailer Test Subject via mail()"; 

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional 

$mail->MsgHTML($body); 

move_uploaded_file($_FILES["file"]["tmp_name"],$destination); 

$mail->AddAttachment("$destination"); //Your attachment 
//$mail->AddAttachment("images/phpmailer.gif");  // attachment 
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment 

if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 

?> 

</body> 
</html> 
  • Это пример из PHPMailer класса
1

Используйте форму HTML и добавить тег <input type="file" name="uploaded">, а затем вы можете обрабатывать файл в PHP как так:

<?php 

$file = $_FILES['uploaded']; 
if (move_uploaded_file($file['tmp_name'], $destination)) { 
// do something 
} 
// do something 

?> 

Я не могу написать огромный код, то это должно быть толчком для вас начать! Вот быстрый guide. Теперь, чтобы прикрепить его, вы делаете это как запрос ajax на сервер, сохраняете путь к файлу и затем извлекаете путь из базы данных при отправке письма.

+0

Будет ли это работать на предмет отверстия? $ attachment = chunk_split (base64_encode (file_get_contents ($ _ FILES ['file'] ['tmp_name']))); $ filename = $ _FILES ['file'] ['name']; –

+0

да конечно .. –

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