SMTP. Ошибка при отправке с прикрепленным файлом



  • Подскажите как можно узнать причину ошибки при отправке письма с вложением.
    В логе только CURLE_RECV_ERROR: Failure when receiving data from the peer
    Если убрать вложение или если вложение где-то до 100 кб отправка проходит без ошибки.
    Вложение - это файлик txt с темами и ссылками собранные скриптом.



  • попробовать отправить то же самое через веб-интерфейс и почитать сообщения



  • При отправке через веб интерфейс почты ошибок нету.
    Почта отправляется и доставляется.



  • значит вопрос к упаковке данных перед отправкой

    включите дебаг в курл и почитайте полностью трейс ответа. Возможно там есть ответы



  • В конце дебага указано 552 message line is too long Connection #0 to host mail.******.by left intact
    Я понимаю что 552 ошибка это по превышению размера файла, но размер пересылаемого файла в килобайтах!
    И он нормально пересылается через веб интерфейс почты



  • Экспериментальным путем установлен точный размер, пересылаются все текстовые файлики размером до 74кб
    Если больше, то ошибка 552



  • This post is deleted!


  • @kpmtm

    ВОТ ПОЛЕЗНАЯ СТАТЬЯ МНЕ ПОМОГЛА ОТПРАВИТЬ ФАЙЛ TXT И ZIP И RAR

    https://community.bablosoft.com/topic/21152/curle_send_error-failed-sending-data-to-the-peer-при-отправке-через-smtp



  • @wflfxhosne said in SMTP. Ошибка при отправке с прикрепленным файлом:

    @kpmtm

    ВОТ ПОЛЕЗНАЯ СТАТЬЯ МНЕ ПОМОГЛА ОТПРАВИТЬ ФАЙЛ TXT И ZIP И RAR

    https://community.bablosoft.com/topic/21152/curle_send_error-failed-sending-data-to-the-peer-при-отправке-через-smtp

    Спасибо. Просматривал эту тему, код этот добавлял, в моем случае ничего не меняет.



  • @kpmtm

    Почтовый сервис какой?



  • @wflfxhosne said in SMTP. Ошибка при отправке с прикрепленным файлом:

    @kpmtm

    Почтовый сервис какой?

    свой, корпоративный



  • @kpmtm

    Проблема возникает когда хотите отправить файл больше 100 мб?



  • По логу.
    При удачной отправке окончание лога выглядит - Content-Transfer-Encoding: base64 --GDSs9Q6sfP80bhJ5l175tE--250 1044124141 message accepted for delivery Connection #0 to host mail.*****.by left intact
    При неудачной в Content-Transfer-Encoding: base64 - содержится трэш из набора символов на 2-3 листа, смысла весь выкладывать думаю нету, вот небольшой кусок

    Content-Transfer-Encoding: base64 - D94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPEJyb3dzZXJBdXRvbWF0aW9uU3R1ZGlvUHJvamVjdD4KICAgICA8U2NyaXB0PjwhW0NEQVRBW3NlY3Rpb24oMSAvKjEqLywxIC8qMSovLDEgLyoxKi8sMCxmdW5jdGlvbigpewogICBzZWN0aW9uX3N0YXJ0KCJcdTAwN2JcdTAwMjJuXHUwMDIyOlx1MDAyMkluaXRpYWxpemVcdTAwMjJcdTAwN2QiLCAwKSEKCiA***********удалил***ZWQ+MTwvRW5hYmxlZD4KICAgICAgICAgICAgICAgPEFsbG93ZWRUeXBlcz5GaXhlZFN0cmluZzwvQWxsb3dlZFR5cGVzPgogICAgICAgICAgICAgICA8VmFsdWU+a3BtZHJhZ29uQGdtYWlsLmNvbTwvVmFsdWU+CiAgICAgICAgICAgICAgIDxOb3RFbXB0eT4wPC9Ob3RFbXB0eT4KICAgICAgICAgIDwvTW9kZWw+CiAgICAgICAgICA8RGVmYXVsdHMvPgogICAgIDwvTW9kZWxMaXN0Pgo8L0Jyb3dzZXJBdXRvbWF0aW9uU3R1ZGlvUHJvamVjdD4K --TtMEfIFBELheDyqpBif8Sx--552 message line is too long Connection #0 to host mail..by left intact



  • @wflfxhosne said in SMTP. Ошибка при отправке с прикрепленным файлом:

    @kpmtm

    Проблема возникает когда хотите отправить файл больше 100 мб?

    Больше 72 кБ
    Ни о каких мегабайтах даже речи не идет



  • This post is deleted!


  • @kpmtm

    15 мб отправляет но есть один нюанс бас бывает просто вылетает

    • exe файлы не отправляет

    • Если взять сервер и поднять там хост + днс то без проблем отправляет exe + большие файлы



  • Похоже я определил причину.
    Выходной файл, который формируется BAS у меня сохраняется на сетевой диск.
    И оттуда же скрипт берет его для отправки по SMTP. Диск подключен к системе как диск D.
    И не важно как я прописываю путь, руками (d:/file.txt) или через переменные, все работает идеально, но до достижения файла размера в 72кБ
    Поместив выходной файл на локальный диск, такое ограничение пропадает и уже упрется походу в возможности вашего сервера почты.

    Сомневаюсь, что этот баг будут устранять, т.к. большинство пользователей явно работают с локальными дисками.



  • @kpmtm Да все сперва сохраняют файл локально, а потом проводят с ним манипуляции. После всех обработок локальный файл можно удалить.
    Можно обойтись и без отправки RAR на сервер, предварительно закодировав его в BASE64.
    Попробуйте закодировать любой RAR в BASE64 и потом подставьте спереди: data:application/x-rar;base64,, затем полученный результат вставьте в адресную строку браузера. Скачается файл без расширения, который откроется с RAR.
    В BAS это будет примерно так:

    data:application/x-rar;base64,[[BASE64_RAR]]
    

    Если расширение файла неизвестно, работает это:

    data:application/octet-stream;base64,[[BASE64_RAR]]
    

Log in to reply
 

  • 14
  • 7
  • 21
  • 2
  • 3
  • 15
  • 14
  • 2