SexBlogs.Name
С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962
|
Добавлено: 09/04/08 в 12:49 |
Нужно залогиниться и получить письмо посредством скрипта на пхп.
Как вообще делается - куда копать?
п.с. вебинтерфейса у ящика нет
|
|
Submit your blog to the sex blogs list. PR=3 Quickly approve! 10 posts min. Ping every 6 hour!
|
0
|
|
|
С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970
|
Добавлено: 09/04/08 в 13:04 |
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 09/04/08 в 13:06 |
У почтового сервака должна быть хотя бы поддержка POP3 или IMAP, тогда можно через сокеты/curl написать клиента, который будет залазить в ящик, авторизуясь и скачивая письма и т.д.
Как пример или даже готовое решение: _xttp://www.phpclasses.org/browse/package/2.html
|
|
|
|
SexBlogs.Name
С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962
|
Добавлено: 09/04/08 в 13:15 |
хм.. готовое решение не хочу - хочу сам...
примерный кусок кода не подкинете? что бы в общих чертах представлять откуда что берется
п.с. pop3 имеет место быть
|
|
Submit your blog to the sex blogs list. PR=3 Quickly approve! 10 posts min. Ping every 6 hour!
|
0
|
|
|
С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970
|
Добавлено: 09/04/08 в 13:25 |
|
|
|
|
SexBlogs.Name
С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962
|
Добавлено: 09/04/08 в 13:47 |
спасибо
|
|
Submit your blog to the sex blogs list. PR=3 Quickly approve! 10 posts min. Ping every 6 hour!
|
0
|
|
|
С нами с 01.03.06
Сообщения: 629
Рейтинг: 620
|
Добавлено: 09/04/08 в 16:00 |
для протоколов IMAP и POP3 с ssl или без, подходит родная библиотека пыха imap. нпример, так (подробности в доках найдешь на пых.нет) --
Код: |
$mbox = imap_open('{'.$mail_srv['host'].':'.$mail_srv['port'].'/pop3/ssl/novalidate-cert/notls}INBOX',$mail_srv['username'],$mail_srv['password']);
if ($mbox) {
$totalmsg = imap_num_msg($mbox);
if ($totalmsg > 0) {
$mail_parser=new cls_mail_parser($CONFIG['debug'],true);
$mail_parser->attachment_types=$mail['attachment_types'];
for ($i=1;$i<=$totalmsg; ++$i) {
$msgid = $i;
$_uidtype = FT_UID;
if ($is_pop3) {
$_msguid = $i;
} else {
$_msguid = imap_uid($mbox, $msgid);
}
$structd = imap_fetchstructure($mbox, $_msguid, $_uidtype);
$headers = imap_fetchheader($mbox, $_msguid, $_uidtype);
$message = imap_body($mbox, $_msguid, $_uidtype);
$data = preg_replace('#(\r\n|\r|\n)#s', _CRLF, $headers.$message); unset($headers); unset($message);
imap_delete($mbox, $_msguid, $_uidtype);
imap_expunge($mbox);
}
}
imap_close($mbox);
} else {
var_dump(imap_errors());
}
|
ну и парсеров маймов и прочей хрени пачка нужна
|
|
|
|
127.0.0.1
С нами с 26.04.06
Сообщения: 1092
Рейтинг: 557
|
Добавлено: 09/04/08 в 22:08 |
писал под свои нужды года два назад скрипт, получающий через сокеты мыло:
$_server - ип, или имя хоста
$_user - логин
$_pwd - парол
Код: |
<?php
function read_chunk() {
list($cmd)=func_get_args();
global $pop;
$_out='';
$_tmp='';
fputs($pop,"${cmd}\n");
while (!feof($pop)) {
$_out=fgets($pop);
if (preg_match("/^\./",$_out)) { break; }
$_tmp.=$_out;
}
return($_tmp);
}
#-------------------------------------------
#open socket
$pop=fsockopen($_server,110,$errno,$errstr,30) or die ("Error! Unable to connect mail-server!");
if (!strstr(fgets($pop),"+OK")) {die('ERROR: cannot connect to server!'); }
fputs($pop,"user ${_user}\n");
fputs($pop,"pass ${_pwd}\n");
$_out=fgets($pop);
if (strstr($_out,"Mailbox is busy")) { echo 'ERROR: Another pop session in mailbox!';fclose($pop);exit;}
elseif (strstr($_out,"is incorrect")) { echo 'ERROR: Authorization failed!';fclose($pop);exit;}
$_out=fgets($pop);
if (preg_match("/has (\d+) messages/",$_out,$z)) {
if ($z[1]==0) { echo "No messages in mailbox!<br>\n"; exit; }
echo "Messages in mailbox: ${z[1]}\n<br>";
} else { echo 'connection failed!';fclose($pop);exit;}
$msg=array();
$_header=array();
$_date=array();
while ($z[1]>0) {
$_header=read_chunk("top ${z[1]} 0");
#from gmail.com <--- в данном случае ищутся все письма пришедшие с gmail
if (strstr($_header,"gmail.com")) {
# !!!! вот здесь вместо "двоеточие правая скобка" автозамена на на форуме
preg_match("/gmail\.com.* (\w+) (\d+) (\d+)\d+)\d+)/",$_header,$ok);
#checking date
if ($_date[0]!='') {
if ($ok[2]==$_date[2]) { $msg[]=$z[1]; }
elseif ($ok[3] < $_date[3]) { break; }
else { $msg[]=$z[1]; }
} else { $_date=$ok; $msg[]=$z[1];}
}
$z[1]--;
}
$num=0;
echo "found ".count($msg)." messages for last 24h<br>\nProcessing mail...\n";
#get messages
$result=array();
foreach($msg as $i) {
$result[]=read_chunk("retr ${i}");
if (strlen($result)<100) { echo "failed!<br>\n"; continue; }
}
echo "done!\n";
#logout
fputs($pop,"quit\n");
fclose($pop);
?>
|
в $result складываются все полученные письма
|
|
|
|
SexBlogs.Name
С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962
|
Добавлено: 10/04/08 в 05:53 |
вэри биг сэнкс!!! очень помогли
|
|
Submit your blog to the sex blogs list. PR=3 Quickly approve! 10 posts min. Ping every 6 hour!
|
0
|
|
|