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 комментарии


20.10.2011 Иван
Попробовал из почтовой программы, отправляется с яндекса. вставляю эти же данные в скрипт, не работает. вставляю майлру, работает. В чем может быть дело? На яндексе такое же смтп с 25 портом (так в почтовой программе настроено).



20.10.2011 виктор
Иван, посмотрите лог общения с сервером при отправке.
Это делается примерно так
print $mail->Get();
В браузере должно показаться общение с сервером и исходник письма.
Тут и будет видна ошибка.



20.10.2011 Иван
К сожалению я не понял куда прописать print $mail->Get();
Проверял "методом тыка". Ставлю в СМТП данные mail.ru - уходит (без ошибок). Ставлю данные yandex.ru - не уходит совсем.

Скрипт в ответ пишет:
Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.yandex.ru:25 (Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ) in Z:\home\myphp.ru\www\2\libmail.php on line 243

Warning: fclose(): supplied argument is not a valid stream resource in Z:\home\myphp.ru\www\2\libmail.php on line 244
Исходный текст письма:
соединение с сервером не прошло



24.10.2011 Паша
Скрипт наверное хороший но опишите подробно как его установить.
Что куда вставлять и какие файлы создавать. php html.
подскажите пожалуйста.



31.10.2011 виктор
иван, ну вобщем то логи смотреть и смысла нет.
ошибка возникает еще не стадии подключения.
По какой-то причине просто не может произойти подключение к яндексу.
Это дело не в скрипте, может ip сервера не нравится яндексу и он его отклоняет.
Если сможете решить эту проблему, сообщите, что было...



31.10.2011 виктор
Паша, это не скрипт, это класс для разработчиков.
На него еще много чего надо навешивать, чтобы он начал работать.



16.11.2011 JoHn
Скрипт Очень понравился. Но у меня почемуто с яндексом не срастается. Помогите пожалуйста решить:

Письмо отправлено:<br>220 smtp1.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)

Я: EHLO john5891
250-smtp1.mail.yandex.net
250-8BITMIME
250-PIPELINING
250-SIZE 42991616
250-STARTTLS
250-AUTH LOGIN PLAIN
250 ENHANCEDSTATUSCODES

Я: AUTH LOGIN
334 VXNlcm5hbWU6

Я: c2NyaXB0LnBocA==
334 UGFzc3dvcmQ6

Я: MTIzcXdl
235 2.7.0 Authentication successful.

Я: MAIL FROM:<здесь@мой.емайл> SIZE=15797
553 5.7.1 Sender address rejected: not owned by auth user.

сервер отказал в команде MAIL FROM

Пробовал отправить от самого себя и от других. Как решить проблему, помогите... плииииз...



25.11.2011 Владимир
Не понятно как добавить Имя отправителя, пробовал так <Имя отправителя> info@mail.ru не работает, пробовал Organization как то так тоже ничего.



25.11.2011 Ник Ник
Все работает на 5+ Единственный момент, который хотелось бы прояснить, это есть ли возможность отправки через соксы? Сейчас есть уже готовые классы по этому делу, но вот как внедрить это в скрипт - х.з.



28.11.2011 Виктор
Через соксы(прокси) отправлять не умеет.
Добавлять имя отправителя в виде <Имя отправителя> info@mail.ru пока тоже не умеет, но обещали сделать.

А что касается отправки почты на яндекс, а через другие сервера уходит нормально?



07.12.2011 Artem
Спасибо автору за действительно великолепный скрипт!



09.12.2011 Админ
25.11.2011 Владимир
Не понятно как добавить Имя отправителя...
--------

Выложил новую версию 1.6.0, добавил как раз такую возможность.
Можно добавлять имена отправителя, получателя и для поля Reply-To



12.12.2011 Константин
Да, я тоже подтверждаю, что на яндекс не уходит, пишет что неправильный логин или пароль(Error: authentication failed: Invalid user or password! не правильный пароль). Может там кодирование другое... не base64?



19.12.2011 Виктор
JoHn, ваша ошибка отправки через яндекс заключается в FROM.
В поле FROM нужно обязательно указывать тот ящик, через который авторизовались.
Это условие яндекса, mail.ru и вобщем то почти все нормальные почтовики не отправят почту если from отличается от авторизованного ящика.



19.12.2011 Виктор
Константин, ваши проблемы с яндексом связаны исключительно с неверным паролем или логином.
Через яндекс почта уходит, я сам лично проверял пару недель назад этот скрипт через яндекс.



28.12.2011 XES
При отправки письма не стераются данные to при отправке в цикле они накапливаются в переменной to.



28.12.2011 Xes
foreach($email as $to){
ob_start();
require(FILE_MESSAGE);
$message = ob_get_clean();
$subject = 'Gooooo';
$m->From($account['login']);
$m->To($to);
$m->Subject($subject);
$m->smtp_on($account['smtp'], $account['login'], $account['pass'], $account['port']);
$m->Body($message);
$m->Send();
if($m->smtp_log){
$temp = 'Ошибка. При отправки письма на '.$to.' возникли ошибки: '.$m->smtp_log."\n".'Host: '.$_SERVER['HTTP_HOST'].' ['.date("Y-m-d H:i:s").']';
echo $temp.'<br />';
WriteFile(FILE_LOG_PHPMAIL, $temp."\n");
}



02.01.2012 виктор
Xes, вы странно все делаете.
Переменная TO конечно копит адреса.
Можно добавлять в нее адреса несколько раз или сразу массив адресов можно передать.
В ней копятся адреса, после чего происходит отправка один раз всех накопившихся адресов.
Вы же в цикле перебираете массив адресов и на каждом шаге добавляете в ней адреса и на каждом шаге проходите авторизацию smtp и отправляете письмо на все адреса которые уже накопились.

Либо сначала копите адреса в этой переменной или один раз массив в нее передеайте и лишь один раз сделайте авторизацию и отправку письма по всем этим адресам.
Либо если вам нужен именно ваш подход, тогда уж обнуляйте переменную to каждый раз после отправки.



03.01.2012 Дима
Нужно прикрутить к файлам Content-id и поставить Content-Type: multipart/related; - иначе у меня картинки не подгружались в тело письма. А так ваще супер.



04.01.2012 Сергей
Оч хороший скриптик. столкнулся с ситуацией отправки картинки в тексте самого письма, на компе в почтовике картинка отображается, а в веб интерфейсе нет, тупо пустое место. Как решить данную проблему???


1 2 3 4 5 6 7 8 9

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


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


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









 
 
  запомнить

 
Copyright © 2003-2017 WeBi Constructor
Rambler's Top100