Помогите настроить отправку почту с помощью phpmailer. Я в первые столкнулся с прикреплением файла к письму и зашел в тупик.
Простые письма отправляются другим скриптом и там все хорошо. Функция взята на просторах инета. Сама функция вызывается js скриптом.
Браузер показывает все ок. http -200.
Адрес отправителя и получателя настроил на почту с домена. Почта настроена и стоит перенаправления на почту mail.ru.
Буду очень признателен за помощь.
Вызывающий скрипт выглядит так:
Код: Выделить всё
("#formConsultation").submit(function() { //Change
var th = $(this);
$.ajax({
type: "POST",
url: "wp-content/themes/stroiindustry/send-file1.php", //Change
data: th.serialize()
}).done(function() {
setTimeout(function() {
th.trigger("reset");
}, 500);
$('#Modal-3').modal('show');
$('#thank-form').click(function(){
$('#Modal-3').modal('hide');
});
});
return false;
});
Код: Выделить всё
function complete_mail() {
$_POST['free_project_name'] = substr(htmlspecialchars(trim($_POST['free_project_name'])), 0, 1000);
$_POST['free-company'] = substr(htmlspecialchars(trim($_POST['free-company'])), 0, 1000);
$_POST['free-date'] = substr(htmlspecialchars(trim($_POST['free-date'])), 0, 10);
$_POST['descr-proect'] = substr(htmlspecialchars(trim($_POST['descr-proect'])), 0, 1000000);
$_POST['namefree'] = substr(htmlspecialchars(trim($_POST['namefree'])), 0, 30);
$_POST['free-phone'] = substr(htmlspecialchars(trim($_POST['free-phone'])), 0, 30);
$_POST['free-email'] = substr(htmlspecialchars(trim($_POST['free-email'])), 0, 50);
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email']))
output_err(1);
if(empty($_POST['mess']))
output_err(2);
$mess = '
<b>Имя отправителя:</b>'.$_POST['namefree'].'<br />
<b>Компания:</b>'.$_POST['free-company'].'<br />
<b>Контактный телефон:</b>'.$$_POST['free-phone'].'<br />
<b>Контактный email:</b>'.$_POST['free-email'].'<br />
<b>Предполагаемая дата начала:</b>'.$_POST['free-date'].'<br />
'.$_POST['descr-proect'];
require 'class.phpmailer.php';
$mail = new PHPMailer();
$mail->From = 'Мой ящик@surokaztest1.zzz.com.ua';
$mail->FromName = 'Тестовое';
$mail->AddAddress('Мой ящик@surokaztest1.zzz.com.ua', '');
$mail->IsHTML(true);
$mail->Subject = $_POST['free_project_name'];
if(isset($_FILES['attachfile'])) {
if($_FILES['attachfile']['error'] == 0){
$mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']);
}
}
if(isset($_FILES['attachimage'])) {
if($_FILES['attachimage']['error'] == 0){
if (!$mail->AddEmbeddedImage($_FILES['attachimage']['tmp_name'], 'my-attach', 'image.gif', 'base64', $_FILES['attachimage']['type']))
die ($mail->ErrorInfo);
$mess .= 'А вот и наша картинка:<br /><img src="cid:my-attach" border=0><br /> ';
}
}
$mail->Body = $mess;
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
echo 'Спасибо! Ваше письмо отправлено.';
}
function output_err($num)
{
$err[0] = 'ОШИБКА! Не введено имя.';
$err[1] = 'ОШИБКА! Неверно введен e-mail.';
$err[2] = 'ОШИБКА! Не введено сообщение.';
echo '<p>'.$err[$num].'</p>';
show_form();
exit();
}
if (!empty($_POST['submit'])) complete_mail();
else show_form();
?>