|
| |
|
|
| |
для: kasmanaft
(05.02.2008 в 19:45)
| | | Всю function send_mail с телом
поставил на верх и все заработало.
БЛАГОДАРЮ! | |
| |
|
|
| |
|
|
| |
для: bax
(05.02.2008 в 19:32)
| | | У вас вот что получилось:
<?php
if (true) {
print_true();
}
if (true) {
function print_true() {
print "true";
}
}
?>
|
Выдает знакомое "Call to undefined function".
Попробуйте вынести свою
function send_mail($to, $thm, $mail_from, $html, $path)
{
...
...
}
|
в конец файла. | |
| |
|
|
| |
|
|
| |
для: bax
(05.02.2008 в 18:18)
| | | Не подскажите или не покажите в коде где именно поставить sand_mail(); | |
| |
|
|
| |
|
|
| |
для: cheops
(05.02.2008 в 14:00)
| | | Спасибо сейчас попробую | |
| |
|
|
| |
|
|
| |
для: bax
(04.02.2008 в 12:56)
| | | Попробуйте поместить функцию в начало... так иногда бывает, особенно, если весь фрагмент заключается в блок try{...}catch(){...} | |
| |
|
|
| |
|
|
| | Здр-те, Всем!
Такая вот история;
Есть форма для отправки почты с вложением с сайта.
С полями:
Ваше имя - name = mail_subject
Ваш E-mail - name = mail_from
Ваше сообщение - name = mail_msg
Выбор вложения - name = mail_file
Письмо без вложения отправляется на ура!
А как дело доходит до send_mail так стоп!
Fatal error: Call to undefined function send_mail()
Подскажите, почему?
Заранее благодарю.
<?php
$status = "Ваше сообщение";
$mail_to = "yy@aa.ru";
$charset = "windows-1251";
$subject = "Письмо с сайта http://pupkin.ru";
@extract($_SERVER, EXTR_SKIP); @extract($_POST, EXTR_SKIP); @extract($_GET, EXTR_SKIP);
if (isset($_POST['mail_subject']) && $mail_subject == "")
{
$status = "Введите Baше имя";
}
elseif (isset($_POST['mail_from']) && $mail_from == "")
{
$status = "$Введите Baш E-mail";
}
elseif(isset($_POST['mail_from']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/", $mail_from))
{
$status = "Введите адрес в формате (yy@aa.ru)";
unset($mail_from);
}
elseif (isset($_POST['mail_msg']) && $mail_msg == "")
{
$status = "Введите Baше сообщение";
}
elseif (isset($_POST['mail_msg']) && preg_match("/([$|^|&|*|#|@])/", $mail_msg))
{
$status = "Некорректное сообщение";
unset($mail_msg);
}
elseif (!empty($_POST))
{
$_POST['mail_from'] = htmlspecialchars(stripslashes($_POST['mail_from']));
$_POST['mail_subject'] =
htmlspecialchars(stripslashes($_POST['mail_subject']));
$_POST['mail_msg'] =
htmlspecialchars(stripslashes($_POST['mail_msg']));
$picture = "";
// Если поле выбора вложения не пустое - закачиваем его на сервер
if(!empty($_FILES['mail_file']['tmp_name']))
{
// Закачиваем файл
$path = $_FILES['mail_file']['name'];
if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
}
$thm = $_POST['mail_subject'];
$msg = $_POST['mail_msg'];
$mail_from = $_POST['mail_from'];
// Отправляем почту
if (empty($picture))
{
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: charset=$charset\r\n";
$headers .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";
$headers .= "From: \"$thm\" <$mail_from>\r\n";
$headers .= "X-Mailer: My Send E-mail\r\n";
mail("$mail_to","$subject","$msg","$headers");
$status = "Ваше сообщение отправлено";
}
else send_mail($mail_to, $thm, $mail_from, $msg, $picture);
// Вспомогательная функция для отправки почты с вложением
function send_mail($to, $thm, $mail_from, $html, $path)
{
$fp = fopen($path,"r");
if (!$fp)
{
print "Файл $path не может быть прочитан";
exit();
}
$file = fread($fp, filesize($path));
fclose($fp);
$boundary = "--".md5(uniqid(time()));
$headers .= "MIME-Version: 1.0\n";
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
$headers .= "From: $mail_from\r\n";
$multipart .= "--$boundary\n";
$kod = 'windows-1251';
$multipart .= "Content-Type: text/plain; charset=$kod\n";
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
$multipart .= "$html\n\n";
$message_part = "--$boundary\n";
$message_part .= "Content-Type: application/octet-stream\n";
$message_part .= "Content-Transfer-Encoding: base64\n";
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
$message_part .= chunk_split(base64_encode($file))."\n";
$multipart .= $message_part."--$boundary--\n";
if(!mail($to, $thm, $multipart, $headers))
{
exit("К сожалению, письмо не отправлено");
}
}
}
?>
|
| |
| |
|
|
|