За последние 24 часа нас посетили 17554 программиста и 1309 роботов. Сейчас ищет 1131 программист ...

POP3 получение вложения

Тема в разделе "Работа с почтой", создана пользователем mr.Den, 22 янв 2008.

  1. mr.Den

    mr.Den Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Саранск
    Сделал скрипт читает и сохраняет текст, терь появилась нужда чтоб он ещё и картинки сохранял с мелодиями, как это реализовать как скачать картинку с сервера?
     
  2. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Выдергивать надо картинки из текста письма.
    Взять boundary, по нему разделить текст и выдернуть.
     
  3. mr.Den

    mr.Den Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Саранск
    разделитель есть...но я вытаскиваю как рисунок,т.е. поставив нужный mime пишет ошибка файла
     
  4. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    А где на него глянуть?:)
     
  5. mr.Den

    mr.Den Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Саранск
    НА где он в базу засовывает
    Код не дам дабы он работает не совсем с почтой а с СМС сообщениями
     
  6. mr.Den

    mr.Den Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Саранск
    ага...генитально

    и че с этим дальше делать?
     
  7. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.557
    Симпатии:
    631
    PHP:
    1. <?php
    2. "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
    3. ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
    4. Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCACwAIQDASIA
    5. AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
    6. AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
    7. ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
    8. p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
    9. AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
    10. BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
    11. U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
    12. uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5iDUb
    13. hVffS760uWWN1LuFV99G+ncCyGpdwqtvpd9FwLG4Uu4VW30u+i4FneKN4qjdXcdvHvkb6AdTWNc6
    14. pdSkhG8pfRev50nIGzqN9G+uQS8u0bIuJc+7E1qadq3mMIrjCseAw6GkpCube+l3iq2+jfVXGWd9
    15. G+q2+l30XAs76Krb6KLgZ++gPUG6jd71ncCxvpd9V91G6i4FjfS76r7qN1FwLG+hpMKWJ4AzUG+m
    16. zNmFx/smi4GVczPPKZHP0HoKip7xSogdkYKeM44pqgsQAMk0iDorSDwzBoH2q6uZrm+kJX7Og2+X
    17. 6HPeudfbuO0EDPGas32nX1j5f2y1lg8xdyb1xkVXYbTSQG1plw0tqN5yynaT61a31l6ScQv/AL1X
    18. d1VctE++l31X30bqLgWN/vRVfdRRcCnuoDe9R5ozSES7qN1R0ZoAl3UbqjFLQBJuqfT1hlv7eO5b
    19. bC8qrIfRSRn9KqZpUDO4RFLMxwABkk0XA98+I48KeP8A4d+JdT8PQ/YdU8O3AD2zOGa5tFYJ5uMD
    20. GCxIGTgAj+KuV/ZksvCtofE/jnxYsstt4ctoGt4IwpZ5ppCiEZ4zkYz23Z7V658FvhHHc6ZqV/qK
    21. XMB1+yW3v7XeNsQZg8gRhydxUem0EjJ616NqHwL8Gy6Bqmi6ZpS6NBqNmtvJLasxZirh0dlY4JV1
    22. U56kFgetfMYnizLsPX9i5N92lov8/lc7Fl1Zw5np5dTnfHek/D34rfCPxLNot0kuqaNpR1OJ3+Yx
    23. FUZygcqp/gKsMEfMp9MfD9wOVPtX2Lq/w28V/DD4L+I9H8J2t74q1jXYjaXNzBCsK2doc+YFjLl5
    24. HcccdPw+b48uVZVUOpV1JVlIwQR2Ne1g8bh8XFyoTUl5P8+xyTpzg7SVixpxxC3+9Vnd71Tsj+6P
    25. +9U+a7REu6l3VDmjdQBNuoqHdRQBGBShanEdOEftWfMOxBtNLtqwIval8r2o5hWK200u2rXlUoio
    26. 5hFXbWp4Qi8zxTpcYIDNdIFyM5bPA/E1W8r2r2j9nnSdHt/DmueMDGt3rNg5gto2GVtwVGZMep3Y
    27. z6A+9cGZYv6vh3K129EvN6I68Dh3iKyjeyWr9Fuex+HPiTqXgjw3atr2kwTahKmU0+By0i/UgHn6
    28. A/jUOu/HvxldQbNK8H2ujZ6z6pcsuPpEFEp+u0D3ry2aM6jePfXjPLcSHLOWOTXSeDtBGo6nFBBb
    29. hiWGWIzj86+cp8JUk+esotvV72+Sv087npYjNKE9KdP5vf8Ay/D0Ni78V/Ea88N3GuTu8lqHWI3R
    30. T7PCrtnaFXLNyeN2WHsK+SvGZv5PEF9damYmu7m4eaUxjC7mJJxX6H/Fzw6bH9m3xHbW6ZngtUuy
    31. R1AhkSQn8lNfnr4ynFzqBnBzv+avdyrA4fCpuktzysRiJ1bKWyMqx5DL+NWcVQgkMUgYc+o9q1lQ
    32. MoZeQRkGvXbsc1yuRSYqwY6aY6VwuQ80VIUop3C5pi39qcLf2rWFofSni0PpXF7U6HEyBb+1OFv7
    33. Vri0PpVvS9FvtTv4bDTrOa7upm2xQwoWdz6ACk6qRDic+Lf2pRb+1fZPwf8A2ZrHS7i01vxtPFqM
    34. 4jV/7L8oGKNyBxI2TvwcjAGOO9eneIPgp8L9ZtXiuPCWn2ZI4lsk+zMvuNmB+YIrjeYx5+VK67hy
    35. aH5xXuy1tnmft0Hqewr3v9kLRgmkX630m5fESPCYz0UBSEP1JLH6YrrPin+x5e3qef4H8UxMqZK2
    36. WqJtJP8A11QYz2AKD61zng3wv8S/hpqljZeIvDc8dtBPGFurd1lhKgjJDKfT1xU5pT+tYCpCL1a0
    37. 9VqvxOnL5+yxMW/T79CzovhjULzUJbRIiPKkMbHHcHBr3v4aeD7fRLdJZUBmPPParGg6LjWdQurW
    38. D91PKJgypn76hv5k/lXQ3H2zTgHlt5Hj/vopIH19Kzo5l9coQknukzOtR9lUcex0U1la6po11pd4
    39. gktruB4JkP8AEjqVYfkTX5QfEDRr3w14w1Xw3qIIudMu5LZyR97axAYexGCPY1+mv/CX2duMNMqk
    40. dicV8cftwaJaXXjCz8daWFaPUY1tr/b2mQYRj/vIAP8Atn7124GTjLlfUwkfO3lP5Hn4+Tdtz74z
    41. WpoTebE8J6pyPpUVvAf7Nu4iyk7FnAB5+U4/9n/SmeHpNmrQqekh2H8en64r0pbMzlsbJgPpTDB7
    42. Vttbe1Rtbe1cyqGHOYpg9qK1zbe1FP2gc51C2ftTxZ+1botR6U8WvtXje2PacB/w+8M6Rr2vrZ65
    43. rkei2SoXedoy5OCPlHYE+p4+tfRmieHNP8OWSP8ACIaNqbCLF1P9qWW+lc8fNyu2JR8xEZDM20AA
    44. A7vn3RbWI3/lS8CZNq/7w5/ln8qNe0OW1f7XZSvDKnzK8bFWU+oIqlBVGpN/LoaxwynC6ep9e+Ff
    45. iFa3FwbDWmi0+dQSovGaFnReC/zqF7dMgjkdQa6HW/ES2eni+srGfUrdsbJLYh0bPoVJ/M4HvXw9
    46. pvxW8Z26fYL3VLfW4AjRrHqsCXJ2tjIDsN4zgdG7D0rotK+L1zb3Jlv/AAXolwj8SC3nuYC427eR
    47. 5hX7vHTpRUoOS91f1+BjLB1EfS01z431ny3sriHR43J3JIg3KOxzyD7iulGih7DGvTWl5OV2K0kO
    48. VDHpgE5Jz6EfhXl3gv8AaD+Hk1pBb3ul3WjzRAJ5flCUL7hhyfrjNdV4+8c2WmQfZrG/SbVLiITR
    49. TGMoogflTFngjGMkE89ccAeZTyyNGLqVp3fbX9b/AJsWJnO6urW9P0tf5l/UJ9H8MNbeY5n1BUMM
    50. cMTMm9NxKBxuIwo7nJPPTNM+H/ie/wDEHjDUrabYlvZ2qERoMAM7HH14Q15T4evJNQ12OaeQyOSW
    51. LMck4FdZ+zzepc+MfF43Zb9wE+imQH9T+tVhYRjUUYqyRyzqyqS5pO7Z7HcaVpt3zdadaTn1khVv
    52. 5iuG+Nfw50jxd8KfEXh6y0ixivLmzZrRordUYTp88fIGfvKAfYmvRFbikJr6eTiopozPx90NG868
    53. jZSP9GkDAjpjH9cVTs5BBewynpHIrH8DmvWPjB4WHh343/EHS4Y9kMVxJJCoHCpOyyoB9FbFeS3C
    54. FJSprqTUkSeu/YgwBXkEZBpjWPtWj4MH2/wrp9z1JhCMfdflP8q1WsvavClW5ZOL6HC9GcqbHnpR
    55. XTGx9qKX1gVzaEHtTxB7VfEPtThD7V5/MfUyRmSW77MxnEikMh9GHIraEqahpBl9YySD2OORUQh9
    56. qbo9u/m6vCrqsMMfnOx6RhlOT+YJ/Gt6E3rEuhKzs9jyDXrYxbXAxVnTdTjEFvFdMQ7x5DnocMRz
    57. +Va/iSyhdFQ3Makj5CylQ34/41y+oWcsH2OGVCriNsg/77V2UYzpx99WOnG4in7LnpO9mbU7qJVk
    58. jcBx0wetej2euajr/hKwtbxy0unr5UUhHzBV+6Ae2BgV41Gjw6hbMQR84r2rw9p6zeARcxHEjXAi
    59. 46/McVGJacFLzPLrVPbUXK2zLnhnxTdaNL5t7bySlUby2VeHO04H4mvRf2dRd6R4qW4vshtUs5Cc
    60. /wB4OrD9A1cVrWi3Ok6bZQ2sQd5JOjDdkAdAPxr1Y239mad4Q1MH98saiY+7Da3/AKEa8z20FNJd
    61. ThUWrNntkM6OuQ1SFwB1H51xFnq+FHz1j/Ezx9B4P8Cav4jndT9itmaJGP8ArJTxGn4sVH416S57
    62. 8qG7Hyx8fNRtPEXxx8a3FhGpSOSGxZx/G8Mao5P0YMP+A189+JrY2upNGRivVfhpHNeW1xfX0vm3
    63. F3I00rseXZiSSfckmuB+KQhTxK8cJztX5vrXt0ly+6Zs9E+Cn+k+Ctp58m6kj/QN/wCzV2xtPauN
    64. /Z3UyeFL9ey3xP5on+FemfZ/avlcfU5cRNeZzTjqYZtB6UVufZ6K4/bmfKRiKnCKrgipyxe1dDZ9
    65. QyoIvaup8QaKP+FTXWt2umC2uHs2jkuVJPmgfIMjp2H+TXH+IrXWbmG0stDyLu7vIbYMBkqHbbn8
    66. yOfSvqDxH4Ntrn4ef8IxFcvDEkEcSybQThCpJI9Tt5PvW2HahOMntcylNRTit3ofCHixbqW0jWZV
    67. BCDpUMOlTz6LpnnqwlNvvjl6nBdsA+2AK9f+Kfwyuvs0v9l3jXN1GvyxSKq+ZjsCAOaoWljBHLHp
    68. 06BTaW0VuQR0KoAf1zXbm+aQo4RThq7muCwMp1ZRqLSx47LDPBfQx3SKEVvvA9a9n+Eci3WkTaZn
    69. cPtsEqj/AIFz+grlPFmkRGRIwo+Zxiuu/Zx06ebxVe2JIaKKEzYPXj/Jrkp4lYjCOaVrf8AdfDRo
    70. wlCJ3fxITSmtLS5vtQNtHaSNhY4y7yPgEKAPQA5Pb2rf8Ftda14eik1CO4tkVGWCCYYYKeQx9/8A
    71. 6/auY0/w4sGs3Ooa063U8U7C2UnKogPysR0J4UgdsZ681L8QPEE2m+B9QmtZjHOxjRGU4I3SKD+h
    72. NefUipWjHVrqeTDe3c3m16OxsZLy8lEEEUZlkkfhVUDJP0AFfKfx/wDi3cfEjyNF0G1uk0W0lMrF
    73. h89xIMgMVHRQCcD3ye2NHx/4y8Sf8ILqlidUuXtrmMRSxs5ZSpYA8H2rwy2nmt5VlgkaN1OQynBF
    74. fTZYpVYupNJNPvf9EFeChKydzoPDPiy90WTy2UPH0KngisfW75tS1Se8cYMjZA9BXW+G/DV746iv
    75. L26vobW6it2+ygw83kq8hCQRjPTdzzj3xwxBBIIwRXoQrQnOUIvVbmcoSik3sz3/APZpt2PhHUZj
    76. 91r8qPwjT/GvVPI9q5L4BadHZ/DeyCnMs7vcSj0LH5f/AB0LXf8Ak+1fC5lW5sVNruQ43M7yPait
    77. LyfaiuD2hPIZojp4jqwqVBqMF1LaslnKIpSOGIr27HvNm/8ADY27fEHR7eSRN5nLBSecqpb+lfRG
    78. pyA2jAHqK+LPhhpHibSfjr4f1TVboz2pmkTOeBuidR+pFepajL8VNF1u/wBQtheXtiLu4eCFme5j
    79. FuJyI8xod7MVu3faOSLVBxgVu6CTspLYw5XK07bM2vGIA1dS3QtUepeBbbW4TqFmyQXTj5srwx9e
    80. O9c1458ZfYteSw1bT/ImFil05jkyQ2xmddpAwBtwCTyT04OOw+HfjbR9TuY9KhlkWZrRLqMSxmPz
    81. I2LjcoPJA2ZzjHzLzzWNfDe0p2nG6PWhWSfuvU8t8U+CdYsrgPdGMpGcgoD6e9R/Ae4Om/GCGBx8
    82. tzA8T9uCP/1V7/P/AGTr9gZLS6tb2JhxJDIsi9x1GfQ/lXiOq6V/wjnxc0i6iG1JJCn54rTDqCpS
    83. pRVtGZ1PfV31NXxXqz/29dWsAICty3rXKeO2LeCb4F9zlomP4SpU3j/VrfSNcvJZV3yuT5cYOC2D
    84. jPsK4a11LUNdstRikc7TaGVIU4UMDIfxPyjk1FGi3FS6I+ci7SOb1FY5LR4pUV43UqykcEVwN14S
    85. t2ud0F08cJPKFckfQ5rvbo74ARyCM1kOMEiu7DVZ00+VndUgpbl7w7ixWFbYeWsONmO2K6O6/wCE
    86. Cv5muNT+HOlXF1IcyzR3lzDvY9W2pIFBJ9BWBp6YizWhYWlzqF9FY2URluJWwqj+Z9APWuSsrzcr
    87. teabX5NGqso2Z6V4AvdBlk+w6JYXVkAhLwPL5saAYxtY8gexJrtBF7Vn+DfDMHh7TfJDCW5kw08u
    88. PvH0HsO1bvl+1fN4ipFzfK7rzOOolKV0rFLyqKveXRXNzmfKYapTwlYw8ZeDf+hs0H/wYxf/ABVO
    89. HjPwb/0Nugf+DGH/AOKr610p9mem5x7md4m1+TQvEmkXckZFtb3cckr+i7hk/lX0XoV/a6paLd6d
    90. cpcROA6sjZ4NfPuoeIvh/qEfl3nibw7Kp451GL/4qoNA13wd4cuxdeHPiBpmmODkomqwvE3sUZiK
    91. coc0UrNNeRVKuoXT6nrPxE8Jy6tcz3H9oXASZVzbSossIKjghSODnB71x3hzw3feH7htUbSILmdb
    92. VrYSWUjrK0eT8pDZGCXJ2qMDavYADc0747+GRGIfEGp+F79O89jqkMb/APft3x+TfhW3pnxM+Duq
    93. 5Nv490OzkHVLu7SHH4sdp/A0J1VG1tDRVqT1en4nnr+H9N094pYW1XRPniO67sGKnyhLh1aIgl1E
    94. i7SwwNvvxg30OtJ4i083esjVrK2Fs0Fys4m3MYl8078l+ZN5AfHHAGBx7dP8QfhvBEYx8Q/B0oIx
    95. xrVsc/8Aj9eb+MfEfw2ZnfSvFHhZXkcM4ttRgwxGcHCtjua1p1Jt2cWNKnvGWhwfxuQf8JRbsBne
    96. suf/AB0/1rA8ACW2f7dMmITAq5yO5k7enzCtP4meIdB1DVra5g1rTJVj3AkXSEcge+O3rVzwqfBD
    97. xB9W8Y+HVUgkWw1WFQO/zEtz9Km8oUFFp/ceG43m0jzW0vbW58+GBwRFIyAd9oJwfyqCSLMteyXN
    98. t8G7jJbXPDKHH3o9ViUj8Q1Zkmg/CZpNy+OtKRf7v9rwH9d1ZfWo3bUZL5HYpaWZ5tJd29qqRySo
    99. jPwMnFes/DO48J6RZG4k1i0e+mHzuW6D+6PQVkzeFPg1O++Xxjort3LavCf/AGarFp4a+CsBB/4S
    100. jw+/11WD/wCKrDETpVYctpfcRKcn6HqNhqGn3wzaXcM3+42auiOuK0PUvhbowAsPFXhyPH/UVh/+
    101. KrcHjrwL/wBDp4b/APBpD/8AFV4FXDzv7kXb0DQ2vLorG/4TrwL/ANDp4b/8GkP/AMVRWHsK38j+
    102. 5hofBNFFFfrpwhRRRQAUUUUAFdr4A0RL51dwCWNcVXWeCde/s6RUdgMHigD03xB4Nih0wSFF5Ga8
    103. X8QWYs9QeNcYPSvV9d8bLNpwjMwOBjrXkutXhvb5pc8dqAKNFFFABRRRQAUUUUAFFFFAH//Z"
    104. )));
    105. ?>
     
  8. mr.Den

    mr.Den Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Саранск
    спасибо,а если это не рисунок?
     
  9. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Код (Text):
    1. Content-Type: image/jpeg;
    Эта строка о чем-нибудь говорит?

    И не цитируй такие куски - устал прокручивать.
     
  10. mr.Den

    mr.Den Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Саранск
    Говорит
    но как сохранить файлом, нужно все вложения сохранять в файлы
    Я делаю так
    PHP:
    1.     $fp=fopen("$filename","w+");
    2.     $fd=fputs($fp,$bodyattach[1]);
    3.     fclose($fp);
    $bodyattach[1] содержит то что я люблю цитировать :) но без
    PHP:
    1. Content-Type: image/jpeg; name="skinmenuidleimage.jpg"
    2. Content-Disposition: attachment;
    3. filename="skinmenuidleimage.jpg"
    4. Content-Transfer-Encoding: base64
    В итоге фаил не открывается
    Символ перевода каретки нужно оставлять или удалять?
     
  11. mr.Den

    mr.Den Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Саранск
    Есть вменяемые?
    а то ни на одном форуме ни кто не может ни че толкового сказать, только умничают

    Мне нужно просто все вложения из почты сохранить в папку на сервере
     
  12. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    PHP:
    1.  
    2. <?php
    3.    
    4.     class POPmbox {
    5.         const   READ_BYTES_LEN = 128;
    6.         private $tcp_socket;
    7.        
    8.        
    9.         public function __construct($host, $port) {
    10.             // Открываем сокет.
    11.             $this->tcp_socket = fsockopen(
    12.                 $host,
    13.                 $port,
    14.                 $errno,
    15.                 $errstr,
    16.                 5
    17.             );
    18.         }
    19.        
    20.        
    21.         public function __destruct() {
    22.             // Закрываем сокет.
    23.             fclose($this->tcp_socket);
    24.         }
    25.        
    26.        
    27.         public function send_command($cmd) {
    28.             // Отправляем команду.
    29.             fputs($this->tcp_socket, $cmd."\n");
    30.         }
    31.        
    32.        
    33.         public function command_result($answer) {
    34.             return ($answer{0} == '+') ? true : false;
    35.         }
    36.        
    37.        
    38.         public function get_response() {
    39.             // Возвращаем однострочный ответ.
    40.             return fgets($this->tcp_socket, self::READ_BYTES_LEN);
    41.         }
    42.        
    43.        
    44.         public function get_response_multiline() {
    45.             // Возвращаем многострочный ответ.
    46.             $response = '';
    47.            
    48.             do {
    49.                 $output = fgets($this->tcp_socket, self::READ_BYTES_LEN);
    50.                 $response .= $output;
    51.             } while($output[0] != '.');
    52.            
    53.             return $response;
    54.         }
    55.     }
    56.    
    57. ?>
    58.  
    PHP:
    1.  
    2. <?php
    3.    
    4.     class MMS extends POPmbox {
    5.         const SAVE_PATH = 'images/';
    6.        
    7.         public function __construct($host, $port) {
    8.             parent::__construct($host, $port);
    9.         }
    10.        
    11.        
    12.         public function get_boundary($message) {
    13.             $headers = substr($message, 0, strpos($message, "\r\n\r\n"));
    14.             $boundary_regexp = '/boundary=\"(.*)\"/i';
    15.             preg_match_all($boundary_regexp, $headers, $out, PREG_PATTERN_ORDER);
    16.             $boundary = $out[1][0];
    17.            
    18.             if($boundary) {
    19.                 return $boundary;
    20.             }
    21.        
    22.             return false;
    23.         }
    24.        
    25.        
    26.         public function save_part($entry) {
    27.             global $_MYSQLI, $_CFG;
    28.            
    29.             if(preg_match('/Content-type: image\/(.*)/i', $entry)) {
    30.                 $md5         = md5(microtime());
    31.                 $filename    = $md5.'.jpg';
    32.                 $filename_tn = $md5.'_tn.jpg';
    33.                
    34.                 // Не факт, что письмо будет в кодировке base64.
    35.                 $img_str = base64_decode(str_replace("\r\n", '', (substr($entry, strpos($entry, "\r\n\r\n"), strlen($entry)))));
    36.                 $im = imagecreatefromstring($img_str);
    37.                
    38.                 imagejpeg($im, self::SAVE_PATH.$filename);
    39.                
    40.                 // Делаем тамбнейл
    41.                 resample(self::SAVE_PATH.$filename, self::SAVE_PATH.$filename_tn, null, $_CFG['tn_width'], null);
    42.                
    43.                 $_MYSQLI->real_query(
    44.                     "INSERT `{$_CFG['table_prefix']}mms` SET `filename` = '$md5'"
    45.                 );
    46.             }
    47.         }
    48.        
    49.         public function cmd_list_result() {
    50.             $messages = array();
    51.            
    52.             // Считываем +OK
    53.             $this->get_response();
    54.            
    55.             // Читаем все остальное
    56.             $result = $this->get_response_multiline();
    57.             $result = explode("\n", $result);
    58.            
    59.             // Парсим ответ в массив.
    60.             foreach($result as $result_line) {
    61.                 if($result_line{0} == '.') {
    62.                     break;
    63.                 }
    64.                 $messages[] = explode(" ", $result_line);
    65.             }
    66.             return $messages;
    67.         }
    68.     }
    69.    
    70. ?>
    71.  
    72.  
     
  13. mr.Den

    mr.Den Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Саранск
    Спасибо
    А если это не рисунок?
     
  14. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Сохрани как ты писал: fopen(), fputs(), fclose().
    или file_put_contents().
     
  15. mr.Den

    mr.Den Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Саранск
    Все уже и без подсказки разобрался

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

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    вот черт, зажал скрипт!