Answer the question
In order to leave comments, you need to log in
How to set up sending a file in a mail form with phpmailer?
Hello.
Failed to send the file.
There is a mail.php handler
<?php
require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';
$name = $_POST['user_name'];
$phone = $_POST['user_phone'];
$email = $_POST['user_email'];
$file = $_POST['user_file'];
$tema = $_POST['tema'];
$message = $_POST['message'];
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.mail.ru'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'скрыто'; // Ваш логин от почты с которой будут отправляться письма
$mail->Password = 'скрыто'; // Ваш пароль от почты с которой будут отправляться письма
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to / этот порт может отличаться у других провайдеров
$mail->setFrom('скрыто'); // от кого будет уходить письмо?
$mail->addAddress('скрыто'); // Кому будет уходить письмо
//$mail->addAddress('[email protected]'); // Name is optional
//$mail->addReplyTo('[email protected]', 'Information');
//$mail->addCC('[email protected]');
//$mail->addBCC('[email protected]');
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'скрыто - письмо';
$mail->Body = "<b>Имя:</b> $name <br>
<b>Телефон:</b> $phone<br>
<b>Почта:</b> $email<br>
<b>Тема:</b> $tema<br>
<b>Сообщение:</b><br>$message";
$mail->AltBody = '';
if(!$mail->send()) {
echo 'Error';
} else {
header('location: /');
}
?>
<input type="file" name="user_file" class="form-control">
Answer the question
In order to leave comments, you need to log in
Decided so.
By adding
// Прикрипление файлов к письму
if (!empty($_FILES['userfile']['name'][0])) {
for ($ct = 0; $ct < count($_FILES['userfile']['tmp_name']); $ct++) {
$uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name'][$ct]));
$filename = $_FILES['userfile']['name'][$ct];
if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) {
$mail->addAttachment($uploadfile, $filename);
} else {
$msg .= 'Не удалось прикрепить файл ' . $uploadfile;
}
}
}
<?php
require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';
$name = $_POST['user_name'];
$phone = $_POST['user_phone'];
$email = $_POST['user_email'];
$tema = $_POST['tema'];
$message = $_POST['message'];
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.mail.ru'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'скрыто'; // Ваш логин от почты с которой будут отправляться письма
$mail->Password = 'скрыто'; // Ваш пароль от почты с которой будут отправляться письма
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to / этот порт может отличаться у других провайдеров
$mail->setFrom('скрыто'); // от кого будет уходить письмо?
$mail->addAddress('скрыто'); // Кому будет уходить письмо
//$mail->addAddress('[email protected]'); // Name is optional
//$mail->addReplyTo('[email protected]', 'Information');
//$mail->addCC('[email protected]');
//$mail->addBCC('[email protected]');
// Прикрипление файлов к письму
if (!empty($_FILES['userfile']['name'][0])) {
for ($ct = 0; $ct < count($_FILES['userfile']['tmp_name']); $ct++) {
$uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name'][$ct]));
$filename = $_FILES['userfile']['name'][$ct];
if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) {
$mail->addAttachment($uploadfile, $filename);
} else {
$msg .= 'Не удалось прикрепить файл ' . $uploadfile;
}
}
}
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'скрыто';
$mail->Body = "<b>Имя:</b> $name <br>
<b>Телефон:</b> $phone<br>
<b>Почта:</b> $email<br>
<b>Тема:</b> $tema<br>
<b>Сообщение:</b><br>$message";
$mail->AltBody = '';
if(!$mail->send()) {
echo 'Error';
} else {
header('location: /');
}
?>
<form action="mail.php" method="POST" enctype="multipart/form-data">
<div class="form-header">
<i class="fa fa-phone"></i>
<div class="text">
<div class="title">Бесплатный просчет</div>
</div>
</div>
<div class="form-body">
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Ваше имя: <span class="required-star">*</span></label>
<div class="input">
<input type="text" name="user_name" class="form-control required " required><i class="fa fa-user"></i> </div>
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Телефон: <span class="required-star">*</span></label>
<div class="input">
<input type="tel" name="user_phone" class="form-control required phone" required><i class="fa fa-phone"></i> </div>
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Email: <span class="required-star">*</span></label>
<div class="input">
<input type="email" name="user_email" class="form-control required" required><i class="fa fa-email"></i> </div>
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Файл: <span class="required-star"></span></label>
<div class="input">
<input type="file" name="userfile[]" id="userfile" class="form-control"><i class="fa fa-file"></i> </div>
</div>
</div>
</div>
<div class="row processing-block">
<div class="form-group">
<div class="col-md-12">
<div class="input">
<input id="checkbox" class="processing_approval" type="checkbox" name="checkbox" required >
<label for="processing_approval">Я согласен на
<a href="/privacy.php" target="_blank" rel="nofollow">обработку персональных данных</a>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="form-footer clearfix">
<div class="pull-left required-fileds">
<i class="star">*</i> - Обязательные поля </div>
<div class="pull-right">
<input class="btn-lg btn btn-default" type="submit" name="submit" id="submit" value="Отправить" />
</div>
</div>
</form>
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question