Отправка писем(PHP)
Отправляю письма с помощью
<? PHP
mail();
?>
Но функция работает плохо иногда письма приходят через 30минут
А некоторые мне кажется вообще не приходят
Подскажите может есть более надёжный способ отправки писем?
а вам не кажется, что дело не в функции?
Отправляю письма с помощью
<? PHP
mail();
?>
Но функция работает плохо иногда письма приходят через 30минут
А некоторые мне кажется вообще не приходят
Подскажите может есть более надёжный способ отправки писем?[/QUOTE]
Есть надежней, но и тяжелее.... сокетами коннектиться к СМПТ серверу и через него отправлять.... но там и авторизация... и знание устройства СМПТ протокола.... :)
Если для рассылки то думаю что в итоге все равно придеться юзать этот способ
Можно взять готовые классы или тот же Zend Framework. Уже всё давно написано, просто бери и юзай (если ты конечно не хочешь постигать азы протоколов)
Отправляю письма с помощью
<? PHP
mail();
?>
Но функция работает плохо иногда письма приходят через 30минут
А некоторые мне кажется вообще не приходят
Подскажите может есть более надёжный способ отправки писем?[/QUOTE]
Функция mail() не гарантирует отправку/доставку писем. Это как UDP пакеты, доставка не гарантируется, проверки получения так же нет. Так что, если доставка каждого письма так важна, то делай как Fenyx и shaelf сказали.
Лично я делал один скриптик для сайта и там эту функцию использовал. Скрипт присылал админу на мыло сведения и заказаных файлах. Т.к. mail() доставку не гарантирует, я делал копии писем в лог-файл (каждое письмо пронумеровывал), потому если письмо и затеряется, то всегда можно зайти на хост и просмотреть этот лог файл.
НЕТ Я НЕ ДЛЯ РАССЫЛОК.
Просто я отправляю ссылку для активации пароля,
а письма либо не приходят либо так опаздывают что люди не дожидаются
Сегодня в книгах порылся, а если с использованием sendmail
что то вроде:
<? PHP
$fp=popen("/usr/sbin/sendmail -t -i", "wb");
fwrite($fp, "From: .......\n");
fwrite($fp, "To: .......\n");
fwrite($fp, "Subject: .......\n");
fwrite($fp, "\n");
fwrite($fp, file_get_contents(_FILE_));
pclose($fp);
?>
это более надёжно ?
А может ссылочку на какой нибудь простой класс подкините ?
Проблема не в РНР. Ваша проблема либо в сервере, на котором у вас работает скрипт, либо в том что вас внесли в спам-листы (что весьма вероятно), либо и то и другое одновременно.
Вот тут есть неплохая статья на тему отправки писем через сокеты. Класс надо немного доработать напильником и будет превосходно работать (знаю по своему опыту).
http://www.codenet.ru/webmast/php/mail.php
К слову, на моих почтовиках (за которые денюжку плачУ) почта бегает быстрее, чем я соображаю. Порой кажется, что письмо приходит раньше, чем его отправляют...
[/QUOTE]
Не, ФСБ :D
http://www.codenet.ru/webmast/php/mail.php[/QUOTE]
Добрый день.
Скопировал класс
Закоментировал строку по присоединению файла
Прописал сервер почты тот который использую при работе
с Outlook Express
Никаих сообщений призапуске об ошибке скрипта не выдаётся
но письма не приходят тут же пробую через Outlook Express
приходят, в чём может быть дело ?
Посмотрел в настройках учётных записей в Outlook
Есть галочка
Сервер исходящей почты-> Проверка подлинности пользователя
Раньше без этой галочки у меня из Outlook письма не отправлялись !
может и в скрипте нужно добавлять пароль только незнаю как.
Скопировал класс
Закоментировал строку по присоединению файла
Прописал сервер почты тот который использую при работе
с Outlook Express
Никаих сообщений призапуске об ошибке скрипта не выдаётся
но письма не приходят тут же пробую через Outlook Express
приходят, в чём может быть дело ?
Посмотрел в настройках учётных записей в Outlook
Есть галочка
Сервер исходящей почты-> Проверка подлинности пользователя
Раньше без этой галочки у меня из Outlook письма не отправлялись !
может и в скрипте нужно добавлять пароль только незнаю как.[/QUOTE]
SMTP-сервант хочет аутентификацию отправителя. Не знаю, честно говоря, как это передаётся через сокетное соединение. Я удачно использую c_client или просто mail. c_client хорош тем, что работает не только с местным sendmail'ом, но и с любым удалённым почтовиком легко и понятно для понимания. Беда в том, что у хостёров его, как правило, никогда не стоит.
1. Качаем phpBB
2. Находим класс mail
3. Смотрим как отправляется письмо через SMTP с авторизацией.
Вариант 2:
Качаем RFC по SMTP и читаем. Выбирай.
используя mail() (кста ниодного письма еще не пропустил) сценарий отсылает письмо мне и клиенту, и делает запись в MySQL о том, что письмы было отправленно. Включался счетчик. Если по прошествии определенного времени я на мыло не отвечу (либо оно не пришло либо меня нет) серверный скрипт отправляет мне SMS (долго мучился по этому вопросу) с текстом аля "Письмо тебя ждет, чувак". И так далее.
Можно сделать тоже самое, только, чтобы не тебе SMS отправлялась, а человеку кто ждет пароль.
Потратил время пошастал по интернету собрал из разных
скриптик для отправки напрямую через почтовый сервер
с предварительной аутентификацией
Мне кажется это всё таки надёжнее чем <? mail() ?>
И ответ приходит если не прошло.
скриптик для отправки напрямую через почтовый сервер
с предварительной аутентификацией
Мне кажется это всё таки надёжнее чем <? mail() ?>[/QUOTE]
Только там всё-равно такой же mail() работает :D Но, хорошо, что нашёл. Собственно, и проблема-то не в этом была...