BG Development


Страници: (3) [1] 2 3   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> PHP да врътна цикъл без да знам броя елементи, while ли се използва нямам идея
3p0
Публикувано на: 23-02-2019, 00:38
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 672
Регистриран на: 18.06.05



Намерих в интернет PHP-код за четене на е-мейлите ми без да отворя пощенската кутия. Идеално, дори вълшебно! Мога да си проверя различните пощенски кутии без досадното влизане с име на пощата и парола всеки път, а като си ги заложа в PHP-кода и ще си ги чета като роман icon_lol.gif
Да обаче, нещо не сработва UTF-8 ....
Усещам, че тези два оператора четат съдържанието на е-мейлите:
CODE
                  $overview = imap_fetch_overview($inbox,$email_number,0);
                  $message = imap_fetchbody($inbox,$email_number,1.2);

От друга страна намерих, че уж трябва да приложа функцията:
CODE
      function imap_utf8_fix($string)
      {
       return iconv_mime_decode($string,0,"UTF-8");       
}

Хубаво, но ми мрънка, като се опитам да се обрна към функцията с параметри:
CODE
imap_utf8_fix($overview);
imap_utf8_fix($message);
, че не са от тип стринг....
Сега вече идва генералния въпрос, как да извъртя в цикъл отделните елементи на горните променливи, че да се конвертират на кирилица ? (Вероятно са масиви или списъци).

Това мнение е било редактирано от 3p0 на 23-02-2019, 00:56


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
thrawn
Публикувано на: 23-02-2019, 07:05
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2490
Регистриран на: 17.01.17



Може да ти прозвучи шокиращо, но защо не пробваш да прочетеш документацията...
PMEmail Poster
Top
3p0
Публикувано на: 24-02-2019, 12:31
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 672
Регистриран на: 18.06.05



Опитах доста примери, 2 от които проработиха. Интересното е, че в никой от тях явно не се споменава енкодинг, но 1-вият не показва кирилица обаче показва всички е-мейлибез съдържанието им, а 2-рият показва само съдържанието на последния е-мейл, но пък на четима кирилица.

Това мнение е било редактирано от 3p0 на 24-02-2019, 12:33


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
3p0
Публикувано на: 24-02-2019, 13:36
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 672
Регистриран на: 18.06.05



1-ви пример взех от:
'https://davidwalsh.name/gmail-php-imap'

2-ри пример взех от:
'http://php.net/manual/en/function.imap-body.php'
но понеже не се логваше в е-мейл адреса по дадения начи, използвах метода от 1-вия пример imap_open();, чрез който проработи и дори показа съдържанието на последния получен е-мейл на идеална кирилица.


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
TrustHavic
Публикувано на: 24-02-2019, 14:34
Quote Post



Име: Станимир
Група: Потребител
Ранг: Редовен член

Мнения: 401
Регистриран на: 30.04.14



А файла с bom или без bom го запазваш? Ако работиш в нотепад++ има едно encoding и му дай utf8 или utf8 with bom тоест да не е ansi
PMEmail Poster
Top
3p0
Публикувано на: 24-02-2019, 14:44
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 672
Регистриран на: 18.06.05



Редактирал съм го и с Atom и с Geany, записан е във формат UTF-8, но там не виждам такава опция bom.


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
batzidi
Публикувано на: 24-02-2019, 15:39
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 36
Регистриран на: 12.10.11



По-надолу видя ли поста от Carlos Quintero то първия линк който си публикувал?
Та като тествах на моя мейл някои мейли влизаха в elsa-а и след кратко ровене quoted_printable_decode оправи проблема.
Относно проблема с показване само на последното писмо не стана при мен. Показва ги всичките

Това мнение е било редактирано от batzidi на 24-02-2019, 15:39
PMEmail Poster
Top
3p0
Публикувано на: 24-02-2019, 16:00
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 672
Регистриран на: 18.06.05



Аз не казвам, че има проблем с показване само на последното писмо. Вторият пример си е оригинално програмиран да показва само съдържанието на последното писмо.
Проблема ми е, че първия пример не показва кирилица на събджектите на всички емейли, чиито събджекти са писани на кирилица. Първият пример има още един проблем, че не може да ми покаже съдържанието на е-мейлите, показва другите им елементи, показва съдържанието само на един е-мейл, който единствен ми е изпратен от abv.bg но и той е нечетим - не го показва на кирилица.

Това мнение е било редактирано от 3p0 на 24-02-2019, 16:07


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
batzidi
Публикувано на: 24-02-2019, 16:36
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 36
Регистриран на: 12.10.11



Така порових малко и проблема може да се окаже малко по-комплексен
Та един от събджектите ми е следният
CODE
=?UTF-8?B?0JLRgtC+0YDQviDQvdCw0L/QvtC80L3Rj9C90LUg0Lc=?= =?UTF-8?B?0LAg0L/QvtGA0YrRh9C60LAg4oSWNzk4NDY3MA==?=

Обърни внимание на
CODE
=?UTF-8?B?
и завършването
CODE
?=

Това трябва да се премхане - всъщност да си знаем, че кодировкат е UTF-8

Другото което е в гория низ имаме space " ", и тука поне в този случай трябваше да го explode-на и след това всеки елемент на масива да го base64_decode-на, и финално да го присвоя на променлива, която реално съдържаше subject-а на писмото на кирилица.

Трябва да се внимава защото може да има писмо в писмо и subject-ите да са повече.
Другото, което забелязах е, че за писма изпратени мейл клиенти трябва да се ползва quoted_printable_decode

Това мнение е било редактирано от batzidi на 24-02-2019, 16:37
PMEmail Poster
Top
3p0
Публикувано на: 24-02-2019, 16:44
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 672
Регистриран на: 18.06.05



На мен всичките ми събджекти са от твоя вид:
CODE
=?UTF-8?B?0JLRgtC+0YDQviDQvdCw0L/QvtC80L3Rj9C90LUg0Lc=?= =?UTF-8?B?0LAg0L/QvtGA0YrRh9C60LAg4oSWNzk4NDY3MA==?=


Показва нечетимо body (съдържание) на мейла, който единствен има прикачен файл към него и единствен ми е пратен от abv.bg.

Това мнение е било редактирано от 3p0 на 24-02-2019, 16:50


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
0 потребители преглеждат тази тема в момента (0 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (3) [1] 2 3  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0