|
|
|
| Предлагаю общими усилиями написать совершенный скрипт отправки почты, используя функцию 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. + ваши пожелания.
Одним словом он должен быть универсальным. | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: cheops
(10.07.2005 в 11:49)
| | в тех темах не описывается как сделать так, чтобы адреса брались из базы или csv-файла, не описывается также ограничение по времени, например 5 писем в минуту. | |
|
|
|
|
|
|
|
для: 123php
(10.07.2005 в 13:21)
| | это лишнии навороты. Я закачал класс htmlMimeМыло5 и скоро дочеркаю скрипт с отправлением письма и аттачей. Проверка на валидность е-маил не нудно. В "от кого" сожно вписывать icq, aim, jabber etc, так как отправка не с мыла а с сайта - то такой подход еще более лучший=).
[quote]в тех темах не описывается как сделать так, чтобы адреса брались из базы или csv-файла, не описывается также ограничение по времени, например 5 писем в минуту.[/quote]
Чтобы адреса брались откуда-то - это уже будет система розсылки, а не форма для отпраки писем. Ограничение времени - это лажа. И это никогда никому не надо=). | |
|
|
|
|
|
|
|
для: LINKIN
(10.07.2005 в 14:18)
| | добавлю что в классе хтмдМайм2 была бага. На MacOS скрипт бы не работал нужным образом как на остальных машинах. Так что если у вас интернац. сайт, то вторую версию лучше не использовать. | |
|
|
|
|
|
|
|
для: LINKIN
(10.07.2005 в 14:18)
| | Ограничение по времени это условие хостера, поэтому....
Пускай рассылка, все равно. я БЫ рад пользоваться готовым, но что-то не найду хороших. | |
|
|
|
|
|
|
|
для: 123php
(10.07.2005 в 14:37)
| | и никто не хочет отвечать) | |
|
|
|
|
|
|
|
для: 123php
(11.07.2005 в 13:19)
| | А какой вопрос? | |
|
|
|
|
|
|
|
для: cheops
(11.07.2005 в 13:32)
| | ты так говоришь(давайте вместе напишем крутой маил-отправитель) будто для тебя ето тоже, что и движок писать.
можно сдедаоть и классом, и не классом ! вот не пойму какие адреса и зачем вытягивать из базы! и куда их пихать? напиши стандартный отправитель, шоб было только основное(ну и чтоб можно было слать сразу на несколько мыльников, но тока ограничить нуна а то ето уже спам будет) и повесь его где те надо! вот ето будет кайф! а то те скрипты которые лежат на паблике содержат много лишнего или ваще не арботают! ИМХО | |
|
|
|