|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Никогда с IMAP дела не имел, тут решил пощупать. Почитав чуть, понял что есть де папки на сервере, они синхронизируются с папками на клиенте (можно с несколькими клиентами одновременно). Взял Outlook Express (на тестовом компе что под рукой), настроил его на gmail по IMAP. Принцип вроде понял. Неясно следующее: (пробовал несколько раз) 1) Я отправил себе на gmail письмо. 2) Я его получил по IMAP 3) Я на него смотрел, смотрел в настройки OE, удалял что только ни делал, правка - очистить удаленные сообщения и т.п. 4) Все равно оно всегда скачивается по POP3 на рабочем (другом) компе. (Я не сумел его жестко получить по IMAP). Мне имеет смысл м.б. использовать IMAP в своей проге (как альтернативу POP3) только при выполнении след. условий: 1) Я письмо получил (по IMAP) 2) Я письмо на сервере удалил 3) Никто ни я, ни кто другой, ни по IMAP, ни по POP3 больше это письмо получить не может. (Т.е. чтоб также как при обычной работе по POP3). Возможно? Или идеология протокола не позволяет? (Я не сумел это воспроизвести через OE+IMAP -надо без условий, что ящик надо как-то настраивать, сервера де разные). Если все-таки что-то не допонял и это однозначно делается, то 1) Смысл в реализацию оного влезать есть? 2) Как в .Net это реализуется? Еще сложнее чем POP3 (+SSL) или такого же уровня сложности? 3) Примеры есть? Нормальные, типа как я с POP3 на днях нарыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 05:35 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77 1) Я письмо получил (по IMAP)Это бессмыслица, IMAP - протокол управления сообщениями в собственном почтовом ящике. В ящик письма приходят исключительно по SMTP. Дмитрий77 Возможно? Или идеология протокола не позволяет?Можно, позволяет. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141.
В примере понатыкано POP3 просто потому что было лень городить еще один Enum, использовал один и для POP3 и для IMAP. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 08:11 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Еще кусок Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 08:21 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77, .. посмотрите MailSystem.NET, если хотите использовать готовую библиотеку ... Если самому писать, то у меня вышло строчек на тысчонку кода (в варианте ASP.NET webmail) ... для вин-форм может быть поменьше .... хотя ... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 10:16 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
carrotikесли хотите использовать готовую библиотеку ... Ясно дело не хочу. Antonariy, я так понимаю из твоего кода и твоих комментариев, что принцип общения с POP3 и IMAP абсолютно одинаков: команда -> <- ответ анализ ответа При необходимости оборачиваем в SSL-stream (вот здесь чувствуются преимущества .Net). Так? Т.е. получается что если класс для POP3 я передрал/написал (ага, 1009 строк): Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. 618. 619. 620. 621. 622. 623. 624. 625. 626. 627. 628. 629. 630. 631. 632. 633. 634. 635. 636. 637. 638. 639. 640. 641. 642. 643. 644. 645. 646. 647. 648. 649. 650. 651. 652. 653. 654. 655. 656. 657. 658. 659. 660. 661. 662. 663. 664. 665. 666. 667. 668. 669. 670. 671. 672. 673. 674. 675. 676. 677. 678. 679. 680. 681. 682. 683. 684. 685. 686. 687. 688. 689. 690. 691. 692. 693. 694. 695. 696. 697. 698. 699. 700. 701. 702. 703. 704. 705. 706. 707. 708. 709. 710. 711. 712. 713. 714. 715. 716. 717. 718. 719. 720. 721. 722. 723. 724. 725. 726. 727. 728. 729. 730. 731. 732. 733. 734. 735. 736. 737. 738. 739. 740. 741. 742. 743. 744. 745. 746. 747. 748. 749. 750. 751. 752. 753. 754. 755. 756. 757. 758. 759. 760. 761. 762. 763. 764. 765. 766. 767. 768. 769. 770. 771. 772. 773. 774. 775. 776. 777. 778. 779. 780. 781. 782. 783. 784. 785. 786. 787. 788. 789. 790. 791. 792. 793. 794. 795. 796. 797. 798. 799. 800. 801. 802. 803. 804. 805. 806. 807. 808. 809. 810. 811. 812. 813. 814. 815. 816. 817. 818. 819. 820. 821. 822. 823. 824. 825. 826. 827. 828. 829. 830. 831. 832. 833. 834. 835. 836. 837. 838. 839. 840. 841. 842. 843. 844. 845. 846. 847. 848. 849. 850. 851. 852. 853. 854. 855. 856. 857. 858. 859. 860. 861. 862. 863. 864. 865. 866. 867. 868. 869. 870. 871. 872. 873. 874. 875. 876. 877. 878. 879. 880. 881. 882. 883. 884. 885. 886. 887. 888. 889. 890. 891. 892. 893. 894. 895. 896. 897. 898. 899. 900. 901. 902. 903. 904. 905. 906. 907. 908. 909. 910. 911. 912. 913. 914. 915. 916. 917. 918. 919. 920. 921. 922. 923. 924. 925. 926. 927. 928. 929. 930. 931. 932. 933. 934. 935. 936. 937. 938. 939. 940. 941. 942. 943. 944. 945. 946. 947. 948. 949. 950. 951. 952. 953. 954. 955. 956. 957. 958. 959. 960. 961. 962. 963. 964. 965. 966. 967. 968. 969. 970. 971. 972. 973. 974. 975. 976. 977. 978. 979. 980. 981. 982. 983. 984. 985. 986. 987. 988. 989. 990. 991. 992. 993. 994. 995. 996. 997. 998. 999. 1000. 1001. 1002. 1003. 1004. 1005. 1006. 1007. 1008. 1009.
то мне его просто надо переделать в IMAP? Насколько тяжело? Ну, вот POP3 дебаг(скачиваем единственное письмо, с удалением на сервере) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Всего 7 команд - выделил (LIST здесь даже лишняя). А никто мне в столбик не напишет такие же команды для IMAP (такой же алгоритм)? Чтоб по спецификациям не плавать? До кучи еще бы аналог: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:01 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77Чтоб по спецификациям не плавать? по ним не плавать нужно, а знать - https://tools.ietf.org/html/rfc3501 не хочешь углубляться - бери готовую библиотеку ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:06 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Изопропил https://tools.ietf.org/html/rfc3501 За ссылку спасибо. Если знаешь, м.б. выпишешь мне 7 команд в столбик. А я попробую углубиться именно в те которые мне нужны а не в 100 страниц сухих доков и воткнуть их в POP3 шаблон. >бери готовую библиотеку не возьму ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:21 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77 то мне его просто надо переделать в IMAP? Насколько тяжело?в общем да и не тяжелее, чем pop3 Дмитрий77 А никто мне в столбик не напишет такие же команды для IMAP (такой же алгоритм)? A1 LOGIN логин пароль A2 SELECT INBOX A3 SEARCH UNSEEN тут возвращается массив значений, идентифицирующих непрочитанные письма. A4 FETCH значение (тут возможны еще какие-то параметры типа body[header], FLAGS, смысл которых я не помню, смотри спецификацию) а с удалением непонятки. как таковой команды удаления нет, есть возня с флагами - STORE значение +FLAGS \Deleted, копирование в мусорку - COPY значение Trash и очищение выбранной папки от писем с флагом Deleted - EXPUNGE. A5 LOGOUT фишка IMAP - нужно вести сквозную нумерацию отсылаемых команд (A1-A5) до конца я его так и ниасилил. тренировался на mail.ru, а там был то ли баг, то ли фича: команда, имеющая параметром значение , применялась к двум сообщениям, заданному и следующему. а если сообщение одно или последнее, то все ок. мэйлру вопрос о том, что за ерунда творится, проигнорировало. по факту IMAP мне не был нужен, я и забил на него совсем. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:47 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
я так и не помню, получилось у меня удалить или нет. Дмитрий77 До кучи еще бы аналог:что такое LIST не помню, UIDL не знаю, а NOOP точно такой же: Axxx NOOP ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:53 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77Изопропил https://tools.ietf.org/html/rfc3501 За ссылку спасибо. Если знаешь, м.б. выпишешь мне 7 команд в столбик. А я попробую углубиться именно в те которые мне нужны а не в 100 страниц сухих доков и воткнуть их в POP3 шаблон. >бери готовую библиотеку не возьму ,. да наберите в гугле imap commands, там все просто (главное, не забыть тэги перед командой ставить, хоть точку, хоть а1) например ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:54 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
carrotik(главное, не забыть тэги перед командой ставить, хоть точку, хоть а1)хм, а в доке, что я читал, речь была конкретно про нумерацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 17:57 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Antonariy, ... у меня удаление примерно вот так работает Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 18:01 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Antonariycarrotik(главное, не забыть тэги перед командой ставить, хоть точку, хоть а1)хм, а в доке, что я читал, речь была конкретно про нумерацию. ...я вот две точки ставлю ... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 18:01 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77>бери готовую библиотеку не возьму а деньги считал? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 18:03 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
carrotikAntonariyпропущено... хм, а в доке, что я читал, речь была конкретно про нумерацию. ...я вот две точки ставлю ... .. кстати, я тренировался и написал рабочее приложение только для корпоративного мейл-сервера (там postfix и courier-IMAP) ... возможно на публичных другие требования .... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 18:19 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
ИзопропилДмитрий77>бери готовую библиотеку не возьму а деньги считал? А че деньги? Деньги капают потихоньку. У меня творческий процесс написания проги никак не связан с техническим процессом собирания денег (за предыдущие версии). Если так рассуждать, то я уже полгода работаю "бесплатно" (переписывая проект на .Net). Я работаю на перспективу. Ребята вроде дело подсказывают, будем экспериментировать. Просто я на POP3+SSL отвел себе неделю, а сделал за пару дней (уже почти все довставлял в проект, довожу тесты). Если делать IMAP, то лучше делать сразу, чтоб потом все не вспоминать по новой. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 18:23 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77Если делать IMAP, то лучше делать сразу, чтоб потом все не вспоминать по новой. если есть время(которое деньги) -то конечно, есть маленькое но - кривых IMAP4 серверов куда больше чем кривых POP3 так что готовься фиксить чужие баги ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 18:50 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
carrotik.. посмотрите MailSystem.NET, если хотите использовать готовую библиотеку ... Скачал,Посмотрел. Много там всего. Смотреть так понимаю надо прежде всего Imap4Client.cs ? Если под готовой понимается запечатанное (да пусть даже и открытое) нечто размером этак 15MB, предполагающее использовать всю OpenSource-ную классику типа OpenSLL и еще штук 10 впридачу, то нет конечно. Если нечто, из чего можно выдрать код хоть как-то поддающийся пониманию (пусть 1000 строк, пусть даже 3000), то это меня устраивает. Чем хорош был приведенный пример pop3, 17662816 (под спойлером), что это именно законченный класс почти без лишних прибамбасов. Я было пытался его начать переписывать под IMAP, но блин по-другому там все, парсинги команд-ответов для POP3 не годятся для IMAP, а высасывать их из пальца желания нет. Авторизоваться удалось, а даже грамотно обработать OK/Исключение после авторизации - ни фига. Так что лучше взять с нуля готовое что-то другое. Вот удастся ли выдрать каноничный класс из MailSystem.NET - пока не знаю (т.е. насколько автор пользуется всеми многочисленными кодами, что у него там есть). Ну и плюс от самого Imap мне надо самый минимум, ползать по всем папкам мне не надо. Попробую методом выдирания и тестирования кусков кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 02:34 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Мне кажется, что на IMAP правильно будет забить. Пытался выдирать код из MailSystem.NET -не завелось, за несколько часов даже коннекта сделать не сумел. Скачал еще несколько поделок - либо заумные, либо глючные, либо слишком упрощенные - типа без SSL(ну это ладно знаю как прикрутить), либо вообще без парсинга ответов, логов и обработки ошибок, типа читайте в консоли. И самое главное, укрепилось подозрение в том что (конкретно на gmail) через imap в принципе нельзя удалить письмо чтоб его потом нельзя было скачать по pop3. Ситуация примерно соответствует сказанному здесь 3-мя людьми, ну и разным отзывам на других форумах. Короче фигня это, хватит того что POP3+SSL осилил. С IMAP я за 2-3 дня не справлюсь, а больше - действительно времени жалко. И по большому счету смысл IMAP не очень подходит под мою задачу (чтоб шарить один почтовый ящик -да, чтоб штатно выкачивать - думаю нет). Я им честно говоря за 15 лет никогда сам и не пользовался. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 07:06 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77Мне кажется, что на IMAP правильно будет забить. Пытался выдирать код из MailSystem.NET -не завелось, за несколько часов даже коннекта сделать не сумел. Скачал еще несколько поделок - либо заумные, либо глючные, либо слишком упрощенные - типа без SSL(ну это ладно знаю как прикрутить), либо вообще без парсинга ответов, логов и обработки ошибок, типа читайте в консоли. И самое главное, укрепилось подозрение в том что (конкретно на gmail) через imap в принципе нельзя удалить письмо чтоб его потом нельзя было скачать по pop3. Ситуация примерно соответствует сказанному здесь 3-мя людьми, ну и разным отзывам на других форумах. Короче фигня это, хватит того что POP3+SSL осилил. С IMAP я за 2-3 дня не справлюсь, а больше - действительно времени жалко. И по большому счету смысл IMAP не очень подходит под мою задачу (чтоб шарить один почтовый ящик -да, чтоб штатно выкачивать - думаю нет). Я им честно говоря за 15 лет никогда сам и не пользовался. .. если вы хотите выкачивать сообщения полностью (с аттачментами), то РОР3 как раз под это и заточен .. IMAP я использую для веб-майлового приложения, чтобы можно было вытащить заголовки в грид, а прикрепленные файлы выкачивать уже по мере необходимости ... там есть команда fetch bodystructure, которая выдает структуру письма с номерами частей, соответственно, можно обращаться к каждой части письма (телу, прикрепленным файлам) отдельно .. если все равно тащить все письмо, то ИМАП тут только все усложняет ... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 10:37 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
carrotik чтобы можно было вытащить заголовки в гридpop3 тоже позволяет вытаскивать лишь заголовки. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 11:31 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
команда TOP ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 11:32 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Antonariy, ..да, но там парсить еще надо первые строки на предмет поиска заголовков .. в IMAP-e каждый заголовок можно вытащить командой fetch body[header.fields(subject)], например, потом там есть search по дате (периоду - since/before) сообщения ... в общем, для веб-майла мне было удобнее IMAP пользовать .. но это дело вкуса ... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 12:38 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
имхо использовать протоколы IMAP, POP, SMTP это вообще плохая идея,эти протоколы древние как говно мамонта. безопасность этих протокол отдыхает А писать свой pop3, imap клиент, это написание велосипеда, все же давно уже по 100500 раз написано ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 12:56 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Roman Mejtesимхо использовать протоколы IMAP, POP, SMTP это вообще плохая идея,эти протоколы древние как говно мамонта. безопасность этих протокол отдыхает А писать свой pop3, imap клиент, это написание велосипеда, все же давно уже по 100500 раз написано ...да ... но когда возникают вопросы пользователей "Я хочу видеть это вот так", то править 100500 раз написанного чужого клиента вызывает больше раздражения, нежели написать свой ... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 13:01 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Roman Mejtesимхо использовать протоколы IMAP, POP, SMTP это вообще плохая идея,эти протоколы древние как говно мамонта.ага, попроси мир больше никогда не пользоваться электронной почтой. Roman Mejtesбезопасность этих протокол отдыхаетих безопасность обеспечивает тот же механизм, что обеспечивает безопасность https, нужно только его задействовать, поставив где надо галочки. или на https у тебя тоже зуб есть? Roman MejtesА писать свой pop3, imap клиент, это написание велосипеда, все же давно уже по 100500 раз написано никто и не пишет с нуля, обычно из готового велосипеда выдирают раму, а колеса прикручивают куда требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 14:00 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
AntonariyRoman Mejtesимхо использовать протоколы IMAP, POP, SMTP это вообще плохая идея,эти протоколы древние как говно мамонта.ага, попроси мир больше никогда не пользоваться электронной почтой. я сам удивляюсь тому, что в эпоху мгновенной передачи цифровых сообщений этим говном до сих пор все пользуются =) могли бы уже что то новое придумать :) Roman MejtesА писать свой pop3, imap клиент, это написание велосипеда, все же давно уже по 100500 раз написано никто и не пишет с нуля, обычно из готового велосипеда выдирают раму, а колеса прикручивают куда требуется. дык автор то, судя по теме свой пилит, через сокеты цепляется и фигачит.. Дело хозяйское конечно, если надо , пусть страдает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 14:36 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Roman Mejtesдык автор то, судя по теме свой пилит, через сокеты цепляется и фигачит.. Дело хозяйское конечно, если надо , пусть страдает :)ну, автор и колеса разобрал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 14:47 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Я могу сказать, на чем я принципиально споткнулся пытаясь переделать POP3 в IMAP: Дмитрий77Antonariy, я так понимаю из твоего кода и твоих комментариев, что принцип общения с POP3 и IMAP абсолютно одинаков: команда -> <- ответ анализ ответа При необходимости оборачиваем в SSL-stream (вот здесь чувствуются преимущества .Net). Так? Т.е. получается что если класс для POP3 я передрал/написал (ага, 1009 строк): Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. 618. 619. 620. 621. 622. 623. 624. 625. 626. 627. 628. 629. 630. 631. 632. 633. 634. 635. 636. 637. 638. 639. 640. 641. 642. 643. 644. 645. 646. 647. 648. 649. 650. 651. 652. 653. 654. 655. 656. 657. 658. 659. 660. 661. 662. 663. 664. 665. 666. 667. 668. 669. 670. 671. 672. 673. 674. 675. 676. 677. 678. 679. 680. 681. 682. 683. 684. 685. 686. 687. 688. 689. 690. 691. 692. 693. 694. 695. 696. 697. 698. 699. 700. 701. 702. 703. 704. 705. 706. 707. 708. 709. 710. 711. 712. 713. 714. 715. 716. 717. 718. 719. 720. 721. 722. 723. 724. 725. 726. 727. 728. 729. 730. 731. 732. 733. 734. 735. 736. 737. 738. 739. 740. 741. 742. 743. 744. 745. 746. 747. 748. 749. 750. 751. 752. 753. 754. 755. 756. 757. 758. 759. 760. 761. 762. 763. 764. 765. 766. 767. 768. 769. 770. 771. 772. 773. 774. 775. 776. 777. 778. 779. 780. 781. 782. 783. 784. 785. 786. 787. 788. 789. 790. 791. 792. 793. 794. 795. 796. 797. 798. 799. 800. 801. 802. 803. 804. 805. 806. 807. 808. 809. 810. 811. 812. 813. 814. 815. 816. 817. 818. 819. 820. 821. 822. 823. 824. 825. 826. 827. 828. 829. 830. 831. 832. 833. 834. 835. 836. 837. 838. 839. 840. 841. 842. 843. 844. 845. 846. 847. 848. 849. 850. 851. 852. 853. 854. 855. 856. 857. 858. 859. 860. 861. 862. 863. 864. 865. 866. 867. 868. 869. 870. 871. 872. 873. 874. 875. 876. 877. 878. 879. 880. 881. 882. 883. 884. 885. 886. 887. 888. 889. 890. 891. 892. 893. 894. 895. 896. 897. 898. 899. 900. 901. 902. 903. 904. 905. 906. 907. 908. 909. 910. 911. 912. 913. 914. 915. 916. 917. 918. 919. 920. 921. 922. 923. 924. 925. 926. 927. 928. 929. 930. 931. 932. 933. 934. 935. 936. 937. 938. 939. 940. 941. 942. 943. 944. 945. 946. 947. 948. 949. 950. 951. 952. 953. 954. 955. 956. 957. 958. 959. 960. 961. 962. 963. 964. 965. 966. 967. 968. 969. 970. 971. 972. 973. 974. 975. 976. 977. 978. 979. 980. 981. 982. 983. 984. 985. 986. 987. 988. 989. 990. 991. 992. 993. 994. 995. 996. 997. 998. 999. 1000. 1001. 1002. 1003. 1004. 1005. 1006. 1007. 1008. 1009.
то мне его просто надо переделать в IMAP? Насколько тяжело? Ну, вот POP3 дебаг(скачиваем единственное письмо, с удалением на сервере) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Не получится это в лоб переделать и вот почему: Вот начало общения imap. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Принципы общения разные. pop: >команда <ответ imap: >команда * отсебятина от сервера в любом месте <ответ Т.е. код для pop3 базируется на методе ->pop3Stream.Write <-response = pop3StreamReader.ReadLine() (в крайнем случае несколько раз, но всегда знает сколько строк читать) А в случае imap (принцип у него такой) сервер в любом месте может выдать строчку без тага (со звездочкой) типа выделенной Rx '* CAPABILITY IMAP4rev1 (в приведенном логе я искуственно прочитал лишнюю, отбросив ту что со звездочкой) Как написано в документации, читать надо непрерывно (соответственно одним потоком и линейными функциями уже не отделаешься). Надо отдельно слать команды и независимо их читать (висеть на pop3StreamReader). Но это как минимум полностью другая логика. Т.е. для imap надо полностью разносить запись и чтение. По принципу .ReadLine() висяк в любом месте с "error по таймауту" обеспечен. В vb6 winsock насколько я помню как раз и висит Код: vbnet 1.
Antonariyфишка IMAP - нужно вести сквозную нумерацию отсылаемых команд (A1-A5) Необязательно. Можешь точку ставить. Фишка в том, что используя разные таги для разных команд, ты всегда (читая StreamReader) можешь понять что это ответ именно на твой конкретный запрос. Т.е. можешь накидать команд сразу, а он тебе даже не гарантирует что ответы вернутся в той же самой последовательности. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 16:09 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77 Не получится это в лоб переделать и вот почему:Что-то я не понял твоей проблемы. В копипасте, что я дал, полный цикл IMAP-сеанса, который прекрасно работал бы, если бы не баг мэйлру с применением команд. Посмотри, как я там ответ в кучу собираю. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Дмитрий77 Принципы общения разные. а процедуры у меня почти одинаковые почему-то. pop3 для сравнения: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 16:40 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Antonariy, Разница между приведенным мной кодом POP3 для .Net в том что у тебя Код: vbnet 1. 2. 3.
непрерывно (и "асинхронно") получает данные "как только так сразу" (событие). А в моем .Net коде делается pop3StreamReader.ReadLine() после команды в том же потоке (предполагая что там должна быть строка, или несколько что для pop3 прогнозируемо, а для imap - нет). Твой то конечно универсален для обоих случаев. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 16:55 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77Antonariy, Разница между приведенным мной кодом POP3 для .Net в том что у тебя Код: vbnet 1. 2. 3.
непрерывно (и "асинхронно") получает данные "как только так сразу" (событие). А в моем .Net коде делается pop3StreamReader.ReadLine() после команды в том же потоке (предполагая что там должна быть строка, или несколько что для pop3 прогнозируемо, а для imap - нет). Твой то конечно универсален для обоих случаев. ...все там прогнозируемо, если посидеть с telnet-ом и покидать нужные команды на сервер :) ... у меня ReadLine вполне справляется, другое дело что требуется поработать над получаемой строкой, пообрезать всякие "OK FETCH COMPLETED" и т.д. .. в коде это выглядит некрасиво, но потом вполне съедобно .. но это если так уж сильно надо, простого рецепта "Взял и поехали" вероятно нет ... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 18:21 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
carrotik, ну это значит над каждой командой надо "сидеть индивидуально". В pop3 коде - там немножко стандартизированный разбор (типа одна функция на несколько команд). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 19:35 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
потому что если сделаешь лишнюю ReadLine то по понятным причинам все нафиг зависнет. А если сделаешь меньше чем надо, то не прочтешь ответ на запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 19:37 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77потому что если сделаешь лишнюю ReadLine то по понятным причинам все нафиг зависнет. А если сделаешь меньше чем надо, то не прочтешь ответ на запрос. нехер инструментарий для хелловорда пользовать ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 20:19 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Ну я передумал сдаваться. Уже понятно, что завелось. Мне вот чего непонятно (я на эту тему вопрос задавал). Письма, удаленные через IMAP на mail.ru получить по POP3 более невозможно. (корректно) Письма, удаленные через IMAP на gmail.com по POP3 прекрасно потом выкачиваются (некорректно). При этом если слазить на gmail по web-интерфейсу, то после удаления по IMAP письмо из "входящих" перемещается в папку "вся почта". В этой ситуации если клиент в моей проге настроит IMAP, а потом через месяц-другой перенастроит ее на POP3, то результат очевиден: прога повторно выкачает кучу уже давно принятого мыла. Бардак(с). С точки зрения IMAP в обоих случаях удаленные по IMAP письма более недоступны. После выкачки по POP3 по IMAP письма также более недоступны (в обоих случаях). Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
P.S. Коды пока настолько неэстетично выглядят, что пока выкладывать не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 06:30 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
А вот допустим есть 4 письма (нумерация по id тек. сессии а не по uid): 1-2-3-4 В какой последовательности надо забирать, чтоб самое старое забрать первым? с головы 1-2-3-4 ? или с хвоста? 4-3-2-1 ? Для pop3? Для imap? Я беру 1-2-3-4 но возникли сомнения? Antonariyна mail.ru, а там был то ли баг, то ли фича: команда, имеющая параметром значение , применялась к двум сообщениям, заданному и следующему. а если сообщение одно или последнее, то все ок. мэйлру вопрос о том, что за ерунда творится, проигнорировало. по факту IMAP мне не был нужен, я и забил на него совсем. не подтверждаю 4 письма скачались и удалились: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 08:53 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Дмитрий77А вот допустим есть 4 письма (нумерация по id тек. сессии а не по uid): 1-2-3-4 В какой последовательности надо забирать, чтоб самое старое забрать первым? с головы 1-2-3-4 ? или с хвоста? 4-3-2-1 ? Для pop3? Для imap? Я беру 1-2-3-4 но возникли сомнения? .. я уже говорил, у IMAP-a есть команда SEARCH - там можно выбирать по разным параметрам, вот тут .. полагаться на сквозную нумерацию я бы не стал ... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 09:23 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
carrotikДмитрий77Я беру 1-2-3-4 но возникли сомнения? полагаться на сквозную нумерацию я бы не стал ... Да не, вроде правильно делаю. авторMessage Sequence Number Message Attribute A relative position from 1 to the number of messages in the mailbox. This position MUST be ordered by ascending unique identifier . As each new message is added, it is assigned a message sequence number that is 1 higher than the number of messages in the mailbox before that new message was added. Unique Identifier (UID) Message Attribute Unique identifiers are assigned in a strictly ascending fashion in the mailbox ; as each message is added to the mailbox it is assigned a higher UID than the message(s) which were added previously. проверил 1-2-3-4 5645-5646-5647-5648 т.е. порядок Sequence соответствует порядку Unique, и порядок этот возрастающий. И в той же последовательности 1-2-3-4 скачивает pop3 1-самое старое 4 -самое новое понятно что если пришли почти одновременно то могут чуть перепутаться с т.зр. времени их отправки и т.п. Но очередь получения сервером (добавления в папку) здесь соблюдена. Что мне важно, чтобы при возникновении очереди новые "задания" не лезли сильно вперед "старых", обработаны они будут в той же последовательности что и скачаны. Но на самом деле при интервале проверки писем 20 сек об этом можно вообще не заморачиваться. Но рассчитывать можно. А search это сложности и излишки и еще непонятно чего она там насортирует в зависимости от фантазии вопрошающего. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 10:18 |
|
А про IMAP не разжуете?
|
|||
---|---|---|---|
#18+
Ну, собственно конечный допиленный результат (полный код под спойлером внизу). Тестировал с gmail.com, Hotmail.com, mail.ru (ssl,993) и с агавой по 143 порту. Ошибок в работе не замечено (кроме того что gmail после удаления по IMAP оставляет письма в POP3, но только gmail). Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. 618. 619. 620. 621. 622. 623. 624. 625. 626. 627. 628. 629. 630. 631. 632. 633. 634. 635. 636. 637. 638. 639. 640. 641. 642. 643. 644. 645. 646. 647. 648. 649. 650. 651. 652. 653. 654. 655. 656. 657. 658. 659. 660. 661. 662. 663. 664. 665. 666. 667. 668. 669. 670. 671. 672. 673. 674. 675. 676. 677. 678. 679. 680. 681. 682. 683. 684. 685. 686. 687. 688. 689. 690. 691. 692. 693. 694. 695. 696. 697. 698. 699. 700. 701. 702. 703. 704. 705. 706. 707. 708. 709. 710. 711. 712. 713. 714. 715. 716. 717. 718. 719. 720. 721. 722. 723. 724. 725. 726. 727. 728. 729. 730. 731. 732. 733. 734. 735. 736. 737. 738. 739. 740. 741. 742. 743. 744. 745. 746. 747. 748. 749. 750. 751. 752. 753. 754. 755. 756. 757. 758. 759. 760. 761. 762. 763. 764. 765. 766. 767. 768. 769. 770. 771. 772. 773. 774. 775. 776. 777. 778. 779. 780. 781. 782. 783. 784. 785. 786. 787. 788. 789. 790. 791. 792. 793. 794. 795. 796. 797. 798. 799. 800. 801. 802. 803. 804. 805. 806. 807. 808. 809. 810. 811. 812. 813. 814. 815. 816. 817. 818. 819. 820. 821. 822. 823. 824. 825. 826. 827. 828. 829. 830. 831. 832. 833. 834. 835. 836. 837. 838. 839. 840. 841. 842. 843. 844. 845. 846. 847. 848. 849. 850. 851. 852. 853. 854. 855. 856. 857. 858. 859. 860. 861. 862. 863. 864. 865. 866. 867. 868. 869. 870. 871. 872. 873. 874. 875. 876. 877. 878. 879. 880. 881. 882. 883. 884. 885. 886. 887. 888. 889. 890. 891. 892. 893. 894. 895. 896. 897. 898. 899.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2015, 04:43 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1401521]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 183ms |
0 / 0 |