@FastSpace said in Проблема при многопоточной работе с ресурсом:
@sayado колличество элементов в ресурсе. Меньше чем x, ждать пока появится больше
?? как мне "ждать пока появится больше"?
настроил smtp
вот настройки отправки -
. подскажите что не так. отправить не получается.
галочку с html убирал. ничего не поменялось
Перед действием настройки smtp создайте действие "Выполнить код" и вставьте туда код, приведенный ниже:
smtp_client_send_mail = function (mailfrom, mailto, mailcc, mailsubject, mailbody, is_html, attachments)
{
if(typeof(_SMTP_SETTINGS)=='undefined')
fail("No smtp settings")
var _SMTP_NEW_MAIL = JSON.parse(JSON.stringify(_SMTP_SETTINGS));
if(typeof(_SMTP_DEBUG) != "undefined" && _SMTP_DEBUG)
{
_SMTP_NEW_MAIL["trace"] = true
}
_SMTP_NEW_MAIL.options["CURLOPT_MAIL_FROM"] = _SMTP_SETTINGS.options["CURLOPT_USERNAME"];
mailto = mailto.replace(/\s/g, "");
mail_rcpt = mailto.split(",");
attachments_list = []
if(typeof(attachments) == "string")
{
if (attachments.length > 0)
{
attachments_list = attachments.split(",");
}
}else if(typeof(attachments) == "object")
{
attachments_list = attachments
}
if(mailcc.length > 0)
{
mailcc = mailcc.replace(/\s/g, "")
mail_rcpt = mail_rcpt.concat(mailcc.split(",").slice());
};
_SMTP_NEW_MAIL.options["CURLOPT_MAIL_RCPT"] = mail_rcpt;
mail_raw = "To: <" + mailto + ">\r\nFrom: " + mailfrom + "<" + _SMTP_SETTINGS.options["CURLOPT_USERNAME"] + ">";
if(mailcc.length > 0)
{
mail_raw += "\r\nCC: <" + mailcc + ">"
};
mail_raw += "\r\nSubject: " + mailsubject;
mailbody = base64_encode(mailbody);
var boundary = rand(22);
if(is_html == true)
{
var msg_body_type = "text/html; charset=utf-8";
} else
{
var msg_body_type = "text/plain; charset=utf-8";
}
mail_raw += "\r\nMIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=" + boundary + "\r\n\r\nThis is a multipart message in MIME format.\r\n\r\n" + "--" + boundary;
mail_raw += "\r\nContent-Type: " + msg_body_type + "\r\nContent-Transfer-Encoding: base64\r\n\r\n" + mailbody + "\r\n";
if(attachments_list.length > 0)
{
mail_raw += "\r\n--" + boundary;
for(var i = 0; i<attachments_list.length; i++)
{
var attach_filename = attachments_list[i]
if (attachments_list[i].indexOf("/") >=0)
{
attach_filename = attachments_list[i].split("/")[attachments_list[i].split("/").length - 1]
}else if (attachments_list[i].indexOf("\\") >=0)
{
attach_filename = attachments_list[i].split("\\")[attachments_list[i].split("\\").length - 1]
};
var extension = "." + attach_filename.split(".")[attach_filename.split(".").length - 1];
var content_type = BAS_GET_MIME_CTYPE(extension);
var attach_base64 = native("filesystem", "readfile", JSON.stringify({value: attachments_list[i],base64:true,from:0,to:0}));
mail_raw += "\r\nContent-Type: " + content_type + ";\r\nContent-Disposition: attachment; filename=\"" + attach_filename + "\"\r\nContent-Transfer-Encoding: base64\n\n" + attach_base64;
if(i == attachments_list.length - 1)
{
mail_raw += "\r\n--" + boundary + "--";
}else
{
mail_raw += "\r\n--" + boundary;
};
};
}else
{
mail_raw += "\r\n--" + boundary + "--";
};
_SMTP_NEW_MAIL["read_from_string"] = mail_raw;
return _SMTP_NEW_MAIL
}
@m4zuper said in CURLE_SEND_ERROR: Failed sending data to the peer при отправке через smtp:
Перед действием настройки smtp создайте действие "Выполнить код" и вставьте туда код, приведенный ниже:
Вы бы хоть ссылку давали на тему, откуда этот код взяли
https://community.bablosoft.com/topic/16804/новый-модуль-почты/50
Ошибку "Error occurred : CURLE_SEND_ERROR: Failed sending data to the peer" он должен исправить
@sddfghfghfjfgfgh Спасибо Фоксу, его работа)
Столкнулся с такой проблемой при отправке почты
Была ошибка при отправке почты "CURLE_SEND_ERROR: Failed sending data to the peer при отправке через smtp", описанная в данной теме.
Я добавил код, как рекомендовал @Fox в данной теме. Спасибо больщое, ошибка ушла, но ругается mail-tester.com - пишет, что слишком длинный код в BASE64.
Посмотрел, действительно, скрипт кодирует все содержимое письма в одну длииинную строчку в BASE64.
Подскажите, пожалуйста, каким образом можно либо отключить кодирование содержимого письма в BASE64, либо разбить строку на куски по 79 символов.
Спасибо за ответ

@andrewgenteam said in CURLE_SEND_ERROR: Failed sending data to the peer при отправке через smtp:
Столкнулся с такой проблемой при отправке почты
Была ошибка при отправке почты "CURLE_SEND_ERROR: Failed sending data to the peer при отправке через smtp", описанная в данной теме.
Я добавил код, как рекомендовал @Fox в данной теме. Спасибо больщое, ошибка ушла, но ругается mail-tester.com - пишет, что слишком длинный код в BASE64.
Посмотрел, действительно, скрипт кодирует все содержимое письма в одну длииинную строчку в BASE64.
Подскажите, пожалуйста, каким образом можно либо отключить кодирование содержимого письма в BASE64, либо разбить строку на куски по 79 символов.Спасибо за ответ
А как вы узнали, что модуль кодирует тело письма в base64? Не прикреплённые к письму файлы, а именно тело письма?