WeBinstruments

Инструментарий для веб-мастеров

 

Техподдержка и
сопровождение
сайтов


на сайте на всех сайтах для веб разработчиков везде
 
 Скрипты
  PHP скрипты   
  Flash скрипты   
  Javascript скрипты   

 Софт
  Инструменты SEO   
  Разработка сайтов   
  Серверное ПО   

 Документация
  MySQL   
  PHP   
  HTML   
  Протоколы и сервисы Internet   

 Статьи
  PHP   
  MySQL   
  Сервер   
  еще...   

 Услуги и сервисы
  Домены   
  Хостинги   
  Блоки для сайта   

 Новости


 Контакты
  icq: 158325531
  email:
  все контакты: здесь




Atom все поступления
Раздел Новости
Раздел Услуги и сервисы
Раздел Статьи
Раздел Файлы
комментарии

Главная / Файлы / Скрипты и Flash / PHP скрипты / Функции и классы / php_libmail класс для отправки писем


php_LibMail 2.11

28.02.2010 (последний раз редактировалось 28.06.2016)
сайт: http://webi.ru
условия использования: бесплатно


Простой, но функциональный php класс для отправки писем.
Умеет отправлять письма с помощью SMTP, либо через стандартную функцию mail().
Можно прикреплять файлы.
Полная поддержка email адресов в национальных доменах (рф и любых других). 

скачать php_libmail 2.11 Последняя версия (28.06.2016)
скачать php_libmail 1.6.1 Старая версия

Полный текст


Комментарии

RSS комментарии


27.11.2013 Юрий
Слал успешно через mail.ru но с 25.11.13 что-то они поменяли - не отправляется почта.
Попробовал на гмэйл и яндекс - ничего не хочет слать:
$m->smtp_on( "ssl://smtp.gmail.com","blah@gmail.com","blah", 465 , 5);
$m->smtp_on( "smtp.yandex.ru","blah","pwd", 587 , 5);

Выдает в любом случае "ошибка: соединение с сервером не прошло."

Что не так?
Через mail() письма на mail.ru просто отсекаются, а на другие сервера приходят.

Помогите, плиз - руками шлю уведомления посетителям.



10.12.2013 Александр
Отличный класс. Но есть проблема с проверкой email на валидность.

Очевидно, что эта регулярка ^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)\$ не учитывает все возможные варианты email - например, зону info и т.д.



13.12.2013 Семен
Автору глубокая и искренняя благодарность!



26.12.2013 Евгений
Добрый день! Спасибо за такой прекрасный скрипт! Вопрос: при указании скрытой копии, подставляется всегда основной адрес кому отправляется письмо, как сделать, чтобы всех, кто скрыт, в поле "кому" подставлялся его адрес?



29.12.2013 Александр
Очень обрадовался, увидев, что ввели отправку многим адресатам разных писем в рамках одного соединения. Спасибо!!!
Из пожеланий, добавить соединение без авторизации (такое тоже ещё встечается:( ). Я вот тут набросал пару строк:
/**
* аутентификация на сервере
* @var boolean
* @access private
*/
private $auth = true;

/**
* Принудительное отключение включение аутентификации на сервере
* @param boolean $bool
*/
public function auth_on($bool)
{
if ($bool)
$this->auth = true;
else
$this->auth = false;
}

после блока if ($code != 250)
вставил условие:
if ($this->auth)
до блока
foreach ($this->smtpsendto as $key_res => $value_res)



13.01.2014 Александр
Думаю было бы здорово, лог вести не общий, а частичный (я просто закоментил вывод body в лог).
Из идей - иметь статус отправки каждого письма, а не только всех писем соединения.



08.03.2014 Александр
Автор великолепен!!!



30.06.2014 Валерий
Отличный сайт! Постоянно выручаете! Спасибо! Так Держать!



13.08.2014 Андрей
Александр,

поддерживаю. сейчас столкнулся с задачей рассылки писем по клиентам, было бы хорошо видеть кому именно письмо было отправлено, типа так:
$status = $m->status_mail['gds'];
$status = $m->status_mail['54'];
т.е. используя ID руссурса

а сейчас пока придется функцией очистки массива адресов и запускать в цикл. будем посмотреть :)

и, Админ, спасибо за классный скрипт - уже года три наверное :)



13.08.2014 Andrey
нашел одну интересную особенность:
если сделать:

$m->Attach(dirname(__FILE__).'/../logo.png', "", "image/jpeg");
$m->Body($preview,"html");

то и само сообщение и картинка придут как вложение.

если
$m->Body($preview,"html");
$m->Attach(dirname(__FILE__).'/../logo.png', "", "image/jpeg");

то все нормально



15.08.2014 Иван
Автор, привет. Мог бы ты вот, что пояснить.
В методе Attach есть строки: "
if (strlen($new_name_filename))
$basename = basename($new_name_filename); // если есть другое имя файла, то оно будет таким
else
$basename = basename($filename); // а если нет другого имени файла, то имя будет выдернуто из самого загружаемого файла
"

То есть, если указанно новое имя, то мы пытаемся получить имя файла? Правильно ли я понимаю?



18.08.2014 фывйцу
Очень похоже на этот http://lwest.free.fr/doc/php/lib/index.php3?page=mail&lang=en



20.08.2014 Андрей
Иван,

я не админ, но отвечу :)
если есть новое имя, то во вложении ваш файл будет под этим именем,
а если нового имени нет, то у вложенного файла будет имя которое имеет файл.

например, у меня на сервере все пользовательские файлы хранятся в виде:
1403117398Y7OPz
1403122003mP1sb
1403125053A4JiS
1403125053O29pY
т.е. даже без расширения. и есть база в которой прописаны имена файлов - какие они должны быть и под какими хранятся на диске.
не могу же я послать клиенту файл с именем "1403125053A4JiS", поэтому я указываю новое имя, типа "запусти меня.ехе" :)



26.08.2014 Александр
Оч крутой скрипт.

но у меня косяк выходит когда отправляю файл в Attach...

include "libmail.php"; // вставляем файл с классом
$m= new Mail; // начинаем
$m->From("diyanchic@yandex.ru"); // от кого отправляется почта
$m->To($_POST['mail']); // кому адресованно
$m->Subject("Тема сообщения");
$m->Body("Текст письма");
//$m->Cc( "copy@asd.com"); // копия письма отправится по этому адресу
//$m->Bcc( "bcopy@asd.com"); // скрытая копия отправится по этому адресу
$m->Priority(1) ; // приоритет письма
$m->log_on(true);
$m->Organization("Моя фирма");
$m->Body($preview,"html");
$m->Attach("libmail.rar","","application/zip","attachment");
$m->Send();

Где косяк?



12.09.2014 Александр
Пожалуйста, дайте пример, как за одно соединение с SMTP отправлять разные сообщения нескольким адресатам.



21.09.2014 Дмытро
Здраствуйте, у меня возникла вот такая проблема. Когда подключаю даний с помощью reqire_once то неотображается русский текст. Хочу отметить что проблема возникает именно в этом случае и дело не в установленой кодировке. Если код отправки расположен в одном файле с классом то все нормально. Помогите пожалуйста решить такую проблему.



11.10.2014 Сергей
Здравствуйте. В комментариях в php коде идет речь о "ресурсах" и письмах для различных "ресурсов". Не могли бы вы подробнее рассказать, для чего это нужно как задать имя ресурса и т.д.



19.10.2014 Владимир
Класс просто замечательный! Как нашел его только его и использую.



03.11.2014 Александр
Большое спасибо за скрипт!
+ небольшая просьба: не используйте private методы/свойства. Приходится менять в библиотеке!

Было бы класно дабавить метод:

public function resetRecipientsList()
{
$this->sendto = array();
$this->acc = array();
$this->abcc = array();

return $this;
}




06.11.2014 Plasha
А как сделать чтобы в поле от кого я мог указать Максим petya@gmail.com ???


1 2 3 4 5 6 7 8 9

Добавить свой комментарий


Ваше имя(* обязательно)


Текст сообщения(* обязательно)









 
 
  запомнить

 
Copyright © 2003-2017 WeBi Constructor
Rambler's Top100