Активация ссылки из письма

Все вопросы касающиеся использования
программы можно задать здесь
regza
Сообщения: 11
Зарегистрирован: 05 мар 2015, 16:34

Активация ссылки из письма

Сообщение regza » 05 мар 2015, 16:44

Здравствуйте.
Уже несколько дней вожусь с активацией ссылки из письма и никак не могу справится. Помогите пожалуйста.
Попросил помощи у нескольких человек, посмотрели, вроде должно работать, но не работает.
Письмо такое:

Код: Выделить всё

Ваш код: ypcz0668

Здравствуйте!

Ваш адрес указан для автоматической пересылки писем с почтового ящика anfisaoqykkapuwi@mail.ru.

Для того, чтобы подтвердить получение писем, перейдите по ссылке https://e.mail.ru/settings/filters?action=confirm&emailfrom=anfisaoqykkapuwi@mail.ru&email=antoniorata@yandex.ru&code=ypcz0668.

Обратите внимание, что до того момента, как вы не подтвердите пересылку, она осуществляться не будет.

Пожалуйста, проигнорируйте данное письмо, если вы не хотите получать пересылку или если письмо попало к вам по ошибке.

С уважением,
Команда Mail.Ru
За основу взят скрипт из http://zircool.ru/post/3/128/

Код: Выделить всё

<?php 

$xhe_host ="127.0.0.1:7010"; 

// The following code is required to properly run XWeb Human Emulator 
require("../Templates/xweb_human_emulator.php"); 

// navigate to google 
 $mbox = imap_open("{pop.mail.ru/pop3:110}","login@mail.ru", "password"); 

// количество пием на ящике 
 $list = imap_num_msg($mbox); 

 // цикл 

     for($i=1;$i<=$list;$i++){ 

       $mailbody = imap_body($mbox, $i); 

       $mailbody =  imap_base64($mailbody); 

       preg_match_all('#http://(.+?)\s#', $mailbody,$mat); 

          for($r=0;$r<count($mat[0]);$r++){ 
       // находим ссылку с confirm 
      if(strpos($mat[0][$r],"confirm")!==FALSE) { 

      $link = trim($mat[0][$r]); 

      //кликаем по ней 
      $browser->navigate($link); 
      $browser->wait_for(60,1); 


       } 

    } 

 } 

// Quit 
$app->quit(); 
?> 
И не работает. По идее надо сделать только :
preg_match_all('#https://(.+?)\s#', $mailbody,$mat);
Не грабит ссылку. Какие только не придумывал регулярки - не грабит.
По итогу сегодня скачал демо зенки, потратил несколько минут времени и активировал ссылку.
Зенка создала сама вот такую регулярку:

Код: Выделить всё

(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
Пробовал и её вставить - не грабит..

У меня сомнения уже, может это всё таки баг?
Версия 4.6.50

Помогите пожалуйста, надо до конца доделать, столько времени в пустую не охота оставлять :)
Последний раз редактировалось regza 05 мар 2015, 17:06, всего редактировалось 1 раз.

regza
Сообщения: 11
Зарегистрирован: 05 мар 2015, 16:34

Re: Активация ссылки из письма

Сообщение regza » 05 мар 2015, 16:54

Мой рабочий скрипт:

Код: Выделить всё

<?php
ini_set('display_errors',1);
error_reporting(E_ALL);

$xhe_host ="127.0.0.1:7011";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

$mbox = imap_open("{pop.yandex.ru:110/pop3}","antoniorata","2yl2LW3481");

$list = imap_num_msg($mbox) ; 
for($i=1;$i<=$list;$i++){ 
       $mailbody = imap_body($mbox, $i); 

       $mailbody =  imap_base64($mailbody); 
echo "$mailbody";
       preg_match_all('№(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?№',$mailbody,$mat); 
print_r($mat);
          for($r=0;$r<count($mat[0]);$r++){ 
       // находим ссылку с confirm 
      if(strpos($mat[0][$r],"confirm")!==FALSE) { 

      $link = trim($mat[0][$r]); 

      //кликаем по ней 
      $browser->navigate($link); 
      $browser->wait_for(60,1); 


       } 

    } 

 } 
// Quit
$app->quit();
?>
Почта , откуда идут письма с ссылкой:
anfisaoqykkapuwi@mail.ru:YGAdOhoHe
Что бы пришло свежее письмо для нового теста, надо пройти по ссылке
https://e.mail.ru/settings/filters/?result=add#
Нажать Подтвердить --> Получить письмо еще раз

ps Свежее письмо лежит и ждет теста.

На данный момент имею вот только это:

Код: Выделить всё

Array
(
[0] => Array
(
)

[1] => Array
(
)

[2] => Array
(
)

[3] => Array
(
)

)
Array
(
[0] => Array
(
)

[1] => Array
(
)

[2] => Array
(
)

[3] => Array
(
)

)

Клава
Сообщения: 71
Зарегистрирован: 22 янв 2015, 17:29

Re: Активация ссылки из письма

Сообщение Клава » 06 мар 2015, 03:29

а точно в ящик заходит ? {pop.yandex.ru:110/pop3} ..вроде mail.ru у тебя
выведи $mbox - 1 или 0 ?

regza
Сообщения: 11
Зарегистрирован: 05 мар 2015, 16:34

Re: Активация ссылки из письма

Сообщение regza » 06 мар 2015, 07:40

Письмо видит 100%. Переадресация с майлру на яндекс, соответственно ссылка будет на яндекс мыле. Перед постом все перепроверил.

regza
Сообщения: 11
Зарегистрирован: 05 мар 2015, 16:34

Re: Активация ссылки из письма

Сообщение regza » 06 мар 2015, 08:00

Вот так вывести?

Код: Выделить всё

<?php
ini_set('display_errors',1);
error_reporting(E_ALL);

$xhe_host ="127.0.0.1:7011";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

$mbox = imap_open("{pop.yandex.ru:110/pop3}","antoniorata@yandex.ru","2yl2LW3481");

$list = imap_num_msg($mbox) ; 
for($i=1;$i<=$list;$i++){ 
       $mailbody = imap_body($mbox, $i); 
echo "$mailbody";
       $mailbody =  imap_base64($mailbody); 

echo "$mbox";

       preg_match_all('?(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])??',$mailbody,$mat); 
print_r ($mat);
          for($r=0;$r<count($mat[0]);$r++){ 
       // ??????? ?????? ? confirm 
      if(strpos($mat[0][$r],"confirm")!==FALSE) { 

      $link = trim($mat[0][$r]); 

      //??????? ?? ??? 
      $browser->navigate($link); 
      $browser->wait_for(60,1); 


       } 

    } 

 } 
// Quit
$app->quit();
?>
Ваш код: ypcz0668

Здравствуйте!

Ваш адрес указан для автоматической пересылки писем с почтового ящика anfisaoqykkapuwi@mail.ru.

Для того, чтобы подтвердить получение писем, перейдите по ссылке https://e.mail.ru/settings/filters?acti ... e=ypcz0668.

Обратите внимание, что до того момента, как вы не подтвердите пересылку, она осуществляться не будет.

Пожалуйста, проигнорируйте данное письмо, если вы не хотите получать пересылку или если письмо попало к вам по ошибке.

С уважением,
Команда Mail.Ru


Resource id #102Array
(
[0] => Array
(
)

[1] => Array
(
)

[2] => Array
(
)

[3] => Array
(
)

)
Ваш код: ypcz0668

Здравствуйте!

Ваш адрес указан для автоматической пересылки писем с почтового ящика anfisaoqykkapuwi@mail.ru.

Для того, чтобы подтвердить получение писем, перейдите по ссылке https://e.mail.ru/settings/filters?acti ... e=ypcz0668.

Обратите внимание, что до того момента, как вы не подтвердите пересылку, она осуществляться не будет.

Пожалуйста, проигнорируйте данное письмо, если вы не хотите получать пересылку или если письмо попало к вам по ошибке.

С уважением,
Команда Mail.Ru


Resource id #102Array
(
[0] => Array
(
)

[1] => Array
(
)

[2] => Array
(
)

[3] => Array
(
)

)
Последний раз редактировалось regza 20 апр 2015, 16:54, всего редактировалось 1 раз.

Клава
Сообщения: 71
Зарегистрирован: 22 янв 2015, 17:29

Re: Активация ссылки из письма

Сообщение Клава » 06 мар 2015, 11:34

я с почтой не работал, пытаюсь помочь ища ошибки в коде.. какое echo выводит текст письма, echo "это \$mailbody -". $mailbody; или "$mbox"?
попробуй найти email ^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$
или просто слово любое, для теста

regza
Сообщения: 11
Зарегистрирован: 05 мар 2015, 16:34

Re: Активация ссылки из письма

Сообщение regza » 06 мар 2015, 11:45

echo $mailbody - выводит текст письма.
Я различные пробовал регулярки, к тому же, по данной регулярке зенно прекрасно ссылку находит. А письмо вообще одно на сервере во время теста. И тем не менее не вытягивает почему то ссылку. :shock:

regza
Сообщения: 11
Зарегистрирован: 05 мар 2015, 16:34

Re: Активация ссылки из письма

Сообщение regza » 16 апр 2015, 13:17

Разве совсем никто не может помочь?

oleg88889
Сообщения: 128
Зарегистрирован: 19 мар 2013, 14:35

Re: Активация ссылки из письма

Сообщение oleg88889 » 16 апр 2015, 18:12

Как альтернатива навигейт на почту,

$link = $webpage->get_body_inter_prefix("перейдите по ссылке",".Обратите внимание",false);

$link = trim($link);

regza
Сообщения: 11
Зарегистрирован: 05 мар 2015, 16:34

Re: Активация ссылки из письма

Сообщение regza » 17 апр 2015, 17:04

Спасибо за совет, но никаких изменений не произошло.
Чертовщина какая то

oleg88889
Сообщения: 128
Зарегистрирован: 19 мар 2013, 14:35

Re: Активация ссылки из письма

Сообщение oleg88889 » 17 апр 2015, 18:59

А что выдает
echo $link;
?
попробуйте
$body = $webpage->get_document_body(false);
$textfile->write_file("C:/body.txt",$body,60,false);
и положите на форум body.txt, надо посмотреть.

regza
Сообщения: 11
Зарегистрирован: 05 мар 2015, 16:34

Re: Активация ссылки из письма

Сообщение regza » 18 апр 2015, 17:01

http://dropmefiles.com/E8ghd вот что выходит

Код вот такой у меня сейчас:

Код: Выделить всё

<?php
ini_set('display_errors',1);
error_reporting(E_ALL);

$xhe_host ="127.0.0.1:7011";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");


$mbox = imap_open("{pop.yandex.ru:110/pop3}","antoniorata@yandex.ru","2yl2LW3481");

$list = imap_num_msg($mbox) ; 
for($i=1;$i<=$list;$i++){ 
       $mailbody = imap_body($mbox, $i); 
echo "$mailbody";
    $mailbody =  imap_base64($mailbody); 

echo "$mbox";

 $link = $webpage->get_body_inter_prefix("перейдите по ссылке",".Обратите внимание",false);
echo "$link";
$link = trim($link);
$body = $webpage->get_document_body(false);
$textfile->write_file("C:/body.txt",$body,60,false);
      $browser->wait_for(60,1); 


       } 



// Quit
$app->quit();
?>

oleg88889
Сообщения: 128
Зарегистрирован: 19 мар 2013, 14:35

Re: Активация ссылки из письма

Сообщение oleg88889 » 19 апр 2015, 22:15

Что то body.txt какойто не тот, письмо повторно не приходит, жду долго, все нет и нет. Если вдруг прийдет не удаляйте, посмотреть надо.

regza
Сообщения: 11
Зарегистрирован: 05 мар 2015, 16:34

Re: Активация ссылки из письма

Сообщение regza » 19 апр 2015, 22:28

Письмо положил новое на яндекс

oleg88889
Сообщения: 128
Зарегистрирован: 19 мар 2013, 14:35

Re: Активация ссылки из письма

Сообщение oleg88889 » 20 апр 2015, 16:49

Дак нету пароля от яндекса :(

Ответить