X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Email как БД - возможно ли такое?
toorr2p
toorr2p
Topic Starter сообщение 6.5.2010, 0:18; Ответить: toorr2p
Сообщение #1


Всем привет!
Такой вопрос, возможно ли использовать Email как хранилище информации? Тоесть отправляя письмо на почту, затем из этой поты извлекать содержимое писем ну например по дате или как-то парсить само тело письма на наличие в нем "ориентиров-сортировки".

Поидее покупая хостинг, дается ведь почтовый адрес?
Вообще возможно ли такое и на PHP???

Спасибо.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 6.5.2010, 7:53; Ответить: gaaarfild
Сообщение #2


Да можно. Только для чего это? В файлах-то проще хранить. они ближе.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 6.5.2010, 11:49; Ответить: toorr2p
Сообщение #3


Супер!
Да все дело в удобстве, не все юзеры просто в состоянии даже FTP пользоватся и сохранять файлы в нужной кодировке, они там могут все поламать.
А я хочу настроит такую штуку - раздать юзерам пароли и форматы письма с контентом, если формат соответствует, то запись добавляеться на модерацию, где я например добавляю к письму определенную пометку (в тексте письма) потом проверяю с пом PHP и если есть вывожу (типо прошла модерацию-значит выводить), а если не соответствует формату, то отправляеться письмо на почту юзера с образцом-формата письма....
Вот такая задумка)) поможите реализовать, уж очень интересно, просто сайт на выделенном серваке и доступ у меня только к FTP нет там никакого PMA а со всякими PuTyy мне неохота ковыряться. А движок сайта не позволит создать такой тип контента как мне нужно.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
BaCo
BaCo
сообщение 6.5.2010, 15:58; Ответить: BaCo
Сообщение #4


Зачем так загружать сервер? Ведь если 1000 пользователей обратится к вашей странице, вы представляете какую нагрузку вы на хостера положите? Ведь придется юзать сокеты... А там такая морока с ними будет.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 6.5.2010, 21:03; Ответить: toorr2p
Сообщение #5


Да врятли там даже сотня за сутки будет, мне просто интересно это пощупать, но не знаю как это делаеться, ссокетами пользовался, но вот чтоб именно из почтового ящика письма извлекать неа...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
BaCo
BaCo
сообщение 7.5.2010, 15:16; Ответить: BaCo
Сообщение #6


Юзай вот это:
первым делом мы должны подключиться к серверу
<?
$pop_conn = fsockopen("pop.bk.ru", 110,$errno, $errstr, 10); //открываем сокет
print fgets($pop_conn,1024); //читаем ответ
?>


Если все нормально, ответ будет: +OK
далее нам необходимо авторизироваться
<?
fputs($pop_conn,"USER code@codeismy.name\r\n"); //посылаем юзера
print fgets($pop_conn,1024); //читаем ответ
?>

Ответ: +OK Password required for user code@codeismy.name
Вводим пароль с помощью команды PASS
<?
fputs($pop_conn,"PASS password\r\n"); //посылаем пароль
print fgets($pop_conn,1024);
?>

Ответ: +OK code@codeismy.name maildrop has 2 messages (8192 octets)
В данном ответе говорится, что в ящике 2 письма общим размером 8192 байт.
Когда авторизация пройдена и можно получить информацию командой STAT, она покажет сколько писем в ящике и их общий размер
<?
fputs($pop_conn,"STAT\r\n");
print fgets($pop_conn,1024);
?>

получить весь список писем можно командой LIST
<?
fputs($pop_conn,"LIST\r\n");
print fgets($pop_conn);
?>

Покажет такой ответ:
+OK 2 messages (8192 octets)
1 6654
2 1372
так же если для команды LIST указать номер письма то можно получить информацию только об этом письме
дальше просто приведу список наиболее часто используемых команд
TOP - имеет 2 параметра номер письма и число строк из заголовка, на пример TOP 1 10 покажет заголочки и первые 10 строк письма
DELE - помечает для удаления письмо
RSET - отменяет пометку на удаление
RETR - прочесть письмо полностью
QUIT - завершение сессии (по окончанию сессии все помеченые на удаления письма удалятся)

ну а дальше приведу ряд полезных функций:
получение ответа от сервера
<?
function get_data($pop_conn)
{
$data="";
while (!feof($pop_conn)) {
$buffer = chop(fgets($pop_conn,1024));
$data .= "$buffer\r\n"; //склеиваем строки
if(trim($buffer) == ".") break;
}
return $data; //возвращяем результат
}
?>


При отправке почты, все не латинские символы в заголовках кодируется, например тема письма может выглядеть так =?windows-1251?B?7/Du4uXw=?= вот такие тексты и будет преобразовывать эта функция
<?
function decode_mime_string($subject) {
$string = $subject;
if(($pos = strpos($string,"=?")) === false) return $string;
while(!($pos === false)) {
$newresult .= substr($string,0,$pos);
$string = substr($string,$pos+2,strlen($string));
$intpos = strpos($string,"?");
$charset = substr($string,0,$intpos);
$enctype = strtolower(substr($string,$intpos+1,1));
$string = substr($string,$intpos+3,strlen($string));
$endpos = strpos($string,"?=");
$mystring = substr($string,0,$endpos);
$string = substr($string,$endpos+2,strlen($string));
if($enctype == "q") $mystring = quoted_printable_decode(ereg_replace("_"," ",$mystring));
else if ($enctype == "b") $mystring = base64_decode($mystring);
$newresult .= $mystring;
$pos = strpos($string,"=?");
}
$result = $newresult.$string;
if(ereg("koi8", $subject)) $result = convert_cyr_string($result, "k", "w");
if(ereg("KOI8", $subject)) $result = convert_cyr_string($result, "k", "w");
return $result;
}
?>


перекодировщик тела письма. Само письмо может быть закодировано и данная функция приводит тело письма в нормальный вид. Так же и вложенные файлы будут перекодироваться этой функцией.
<?
function compile_bоdу($bоdу,$enctype,$ctype) {
$enctype = explode(" ",$enctype); $enctype = $enctype[0];
if(strtolower($enctype) == "base64")
$bоdу = base64_decode($bоdу);
elseif(strtolower($enctype) == "quoted-printable")
$bоdу = quoted_printable_decode($bоdу);
if(ereg("koi8", $ctype)) $bоdу = convert_cyr_string($bоdу, "k", "w");
return $bоdу;
}
?>


Функция для выдергивания метки boundary из заголовка Content-Type boundary это разделитель между разным содержимым в письме, например, чтобы отделить файл от текста письма
<?
function get_boundary($ctype){
if(preg_match('/boundary[ ]?=[ ]?(["]?.*)/i',$ctype,$regs)) {
$boundary = preg_replace('/^\"(.*)\"$/', "\\1", $regs[1]);
return trim("--$boundary");
}
}
?>


Поблагодарили: (0)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 8.5.2010, 0:08; Ответить: toorr2p
Сообщение #7


Ого ничего себе))) спасибо большое, надо разобрать все это дело...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 12.5.2010, 19:42; Ответить: ZiTosS
Сообщение #8


Вячеслав, не понял что ты хочешь? Решил устроить изврат, чтение почты посредством PHP?
Мне кажется задача лишняя, Опиши точнее задачу, что есть, что делает юзер, что делает админ, зачем читать письма на почте?

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
151 adw-kupon.ru 19792 Сегодня, 13:52
автор: Vmir
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
20 uahomka 3424 Сегодня, 11:54
автор: Skyworker
Открытая тема (нет новых ответов) Как в пушсетках покупают по 100-200 тысяч кликов за день?
1 Boymaster 496 Сегодня, 11:45
автор: Skyworker
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
30 freeax 4995 20.4.2024, 16:49
автор: Liudmila
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
13 Boymaster 2017 20.4.2024, 15:06
автор: Boymaster


 



RSS Текстовая версия Сейчас: 23.4.2024, 16:02
Дизайн