CURLE_SEND_ERROR: Failed sending data to the peer при отправке через smtp
-
настроил smtp
вот настройки отправки -. подскажите что не так. отправить не получается.
-
галочку с html убирал. ничего не поменялось
-
This post is deleted!
-
Перед действием настройки 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
" он должен исправить
-
@m4zuper спасибо. работает
-
@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? Не прикреплённые к письму файлы, а именно тело письма?