Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отправка почты средствами PHP
 
 автор: 123php   (10.07.2005 в 10:18)   письмо автору
 
 

Предлагаю общими усилиями написать совершенный скрипт отправки почты, используя функцию mail. Начальный код:


<!-- phpmail.php -->
<html>
<head>
<title>Отправка почты</title>
<body>

<?
if (isset($submit))
{
if (
strstr($from,'@')=='')
{
//если адрес отправителя не содержит символа @
?>
Вы не правильно ввели адрес!
<?
}
elseif (
$subject=='')
{
?>
Вы не ввели тему письма!
<?
}
elseif (
$body=='')
{
?>
Вы не ввели сообщение!
<?
}
else
{
//Всё правильно, отправляем почту
$headers="From: $from\n"//указываем отправителя
$headers.="Errors-To: $from\n";//адрес для ошибок
mail("admin@host.com",$subject,$body,$headers"X-Mailer: PHP/" phpversion());
//отправляем
?>
Ваше письмо отправлено!
<?
}
}
else
{
//выводим форму
?>


<form method="post">
<table border="0" cellspacing="0" cellpadding="4">
<thead></thead>
<tbody>
Пожалуйста, заполните форму.<br>
<tr><td align="right">Ваш e-mail:<input type="text" name="from"><br></td></tr>
<tr><td colspan="2" align="right">Тема:<input type="text" name="subject"><br></td></tr>
<tr><td colspan="2" align="right">Сообщение<br>
<textarea name="body"></textarea><br></td></tr>
<tr><td colspan="2" align="right"><input type="submit" name="submit" value="Отправить"></td></tr>
</tbody>
<tfoot></tfoot>
</table>
</form>

<?
}
?>
</body>
</html>



Код работает (проверял), но его можно усовершенствовать. Хочется сделать так, чтобы он:
1. отправлял еще и файлы (здесь наверно необходим класс).
2. мог брать адреса из базы или csv-файла для рассылки.
3. + ваши пожелания.

Одним словом он должен быть универсальным.

   
 
 автор: PantiL   (10.07.2005 в 10:38)   письмо автору
 
   для: 123php   (10.07.2005 в 10:18)
 

:D

   
 
 автор: Gush   (10.07.2005 в 11:14)
 
   для: 123php   (10.07.2005 в 10:18)
 

Для начала лучше перекодировать тему и тело письма в KOI8-R и приделать хедер типа "MIME-Version: 1.0"

   
 
 автор: Gush   (10.07.2005 в 11:34)
 
   для: Gush   (10.07.2005 в 11:14)
 

И ещё заголовки о типе, для текста что-то вроде:
Content-type: text/plain; charset="koi8-r"
Content-Transfer-Encoding: 8bit

   
 
 автор: cheops   (10.07.2005 в 11:49)   письмо автору
 
   для: 123php   (10.07.2005 в 10:18)
 

Такая идея у форумчан возникает раз в месяц :))) Давайте от совершенного скрипта прошлого месяца возьмём отправку вложенных файлов http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4572

PS Кроме того, обратите внимание на класс htmlMimeMail, ссылка на который приведена в теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5314

   
 
 автор: 123php   (10.07.2005 в 13:21)   письмо автору
 
   для: cheops   (10.07.2005 в 11:49)
 

в тех темах не описывается как сделать так, чтобы адреса брались из базы или csv-файла, не описывается также ограничение по времени, например 5 писем в минуту.

   
 
 автор: LINKIN   (10.07.2005 в 14:18)   письмо автору
 
   для: 123php   (10.07.2005 в 13:21)
 

это лишнии навороты. Я закачал класс htmlMimeМыло5 и скоро дочеркаю скрипт с отправлением письма и аттачей. Проверка на валидность е-маил не нудно. В "от кого" сожно вписывать icq, aim, jabber etc, так как отправка не с мыла а с сайта - то такой подход еще более лучший=).
[quote]в тех темах не описывается как сделать так, чтобы адреса брались из базы или csv-файла, не описывается также ограничение по времени, например 5 писем в минуту.[/quote]
Чтобы адреса брались откуда-то - это уже будет система розсылки, а не форма для отпраки писем. Ограничение времени - это лажа. И это никогда никому не надо=).

   
 
 автор: LINKIN   (10.07.2005 в 14:19)   письмо автору
 
   для: LINKIN   (10.07.2005 в 14:18)
 

добавлю что в классе хтмдМайм2 была бага. На MacOS скрипт бы не работал нужным образом как на остальных машинах. Так что если у вас интернац. сайт, то вторую версию лучше не использовать.

   
 
 автор: 123php   (10.07.2005 в 14:37)   письмо автору
 
   для: LINKIN   (10.07.2005 в 14:18)
 

Ограничение по времени это условие хостера, поэтому....
Пускай рассылка, все равно. я БЫ рад пользоваться готовым, но что-то не найду хороших.

   
 
 автор: 123php   (11.07.2005 в 13:19)   письмо автору
 
   для: 123php   (10.07.2005 в 14:37)
 

и никто не хочет отвечать)

   
 
 автор: cheops   (11.07.2005 в 13:32)   письмо автору
 
   для: 123php   (11.07.2005 в 13:19)
 

А какой вопрос?

   
 
 автор: krot   (11.07.2005 в 14:09)   письмо автору
 
   для: cheops   (11.07.2005 в 13:32)
 

ты так говоришь(давайте вместе напишем крутой маил-отправитель) будто для тебя ето тоже, что и движок писать.
можно сдедаоть и классом, и не классом ! вот не пойму какие адреса и зачем вытягивать из базы! и куда их пихать? напиши стандартный отправитель, шоб было только основное(ну и чтоб можно было слать сразу на несколько мыльников, но тока ограничить нуна а то ето уже спам будет) и повесь его где те надо! вот ето будет кайф! а то те скрипты которые лежат на паблике содержат много лишнего или ваще не арботают! ИМХО

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования