Функция отправляет письмо в текстовом виде или HTML с возможно прикрепленным(и) файл(ом/ами)
Синтаксис: mail_($from_email, $from_name, $to_email, $subj, $message, $file=null, $copy=null)
$from_email - email отправителя
$from_name - имя отправителя
$to_email - email получателя
$subj - тема письма
$message - содержимое письма (если будет передан текст - он автоматически изменится на правильный HTML c переносами строк и т.п.)
$file - необязательный аргумент, указывает на возможное наличие прикрепленн(ого/ых) файл(а/ов)
$copy - если объявить переменную (указать ей что-либо), то копию письма будет сохранена в базе данных при условии, что переменной не передавать значение without_duplicate или wd
Обратите внимание: копия письма так же сохраняется, если это указано в кофигурации сайта (в админке), но при этом если объявить переменную $copy с without_duplicate или wd, то копия сохранена не будет.
Функция возвращает:
true - письмо отправлено
false - письмо не отправлено
Примеры прикрепления файлов:
$files[] = 'images/new.gif';
$files[] = 'http://site.ru/doc/file.xls';
$files[] = '/home/web/site.ru/files/document.doc';
$files['Имя файла.txt'] = "любое \n содержание \t файла";
$files['Имя документа.doc'] = file_get_contents('report.doc');
$files['Имя прайса.xls'] = file_get_contents('http://site.ru/doc/price.xls');
Пример отправки письма:
mail_('from_email@site.ru', 'From Name', 'to_email@site.ru', 'Тема сообщения', 'Текстовое или <b>HTML</b> cодержание письма');
Ошибки неправильного приатачивания файлов:
$files['Имя файла.txt'] = "любое содержание \t файла";// нет переноса строки, функция будет думать, что Вы указываете путь к файлу
$files['Имя документа можно не задавать.doc'] = 'http://site.ru/doc/report.doc';// в данном случае Имя документа автоматически изменится на конечное имя файла, в данном примере: report.doc
Пример отправки множества загруженных файлов:
$files = array();
// проверяю загруженные файлы
if($_FILES && $_FILES['files_multiple']['tmp_name']){
foreach($_FILES['files_multiple']['tmp_name'] as $k=>$path){
// $_FILES['files_multiple']['type'][ $k ] != 'image/jpeg' || $_FILES['files_multiple']['type'][ $k ] != 'image/pjpeg'
if($_FILES['files_multiple']['size'][$k]<'100000000'){// если размер меньше 100 Мб
$files[ $_FILES['files_multiple']['name'][$k] ] = $path;
}
}
}
Подсказка: Вы можете очень удобно отправлять письма с изображениями в теле письма прямо из визуального редактора благодаря фунции mail_img_files
Комментарии