@jofamo2305 http клиент хорошая альтернатива браузеру, но для работы с ним нужен некоторый опыт.
Нельзя просто так взять, записать запросы и сидеть радоваться.
c4eb9a38-f79a-42a3-9855-5646908c7576-image.png
А что касается информации в заголовке, то не трудно догадаться, что нельзя вынести данную фичу в блок, это фича редактора, но ни как не скрипта.
Проще говоря: это фича для упрощения создания скрипта.
Если ты имеешь ввиду добавить запуск этого действия как кнопку в модуле, то в модуле ведь блоки, а не просто кнопки.
Новый модуль почты
-
@artihorror а чего не прав. Сервер может так настроен, что не подписывает письма которые через smtp идут. Возможно он подписывает только посьма с веб морды и приложения.
Не ну если у тебя есть закртый ключ почтового сервиса тогда конечно можно подписать xD Если бы каждый мог подписать письмо ключом сервиса, то какой бы был смысл в этой подписи?
@artihorror said in Новый модуль почты:
@UserTrue эх, ну вот куда ты убежал, а как же дискуссия?(
Не убежал, а уснул )
-
@UserTrue said in Новый модуль почты:
а чего не прав. Сервер может так настроен, что не подписывает письма которые через smtp идут. Возможно он подписывает только посьма с веб морды и приложения.
Не ну если у тебя есть закртый ключ почтового сервиса тогда конечно можно подписать xD Если бы каждый мог подписать письмо ключом сервиса, то какой бы был смысл в этой подписи?уточнила, что использую майл ру для бизнеса, у них есть гуйд для сего дела https://help.mail.ru/developers/notes/dkim
-
@artihorror а ну это другое. Только можно с тем же успехом свой сервер настроить и будет он тебе все сам подписывать
-
@Daniel said in Новый модуль почты:
Сделайте пожалуйста возможность самостоятельно формировать From. Целиком.
В данный момент BAS его автоматически заворачивает в <>, из-за чего не получается подставить конструкцию видаИмя<адрес>На выходе бас выдает такое
<Имя<адрес>>Я так и не смог модифицировать движок модуля самостоятельно, чтоб убрать эти дополнительные скобки
СпасибоПеред отправкой сообщения используй действие "выполнить код" с кодом:
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 }Тогда "From" будет формироваться полностью
-
@UserTrue said in Новый модуль почты:
@Fox ух проще ноду юзать ))
Проще чем создать одно действие? Я из стандартного модуля изменил одну строчку, если сложно, я могу выложить это изменение в виде модуля, ну или выложить решение через curlwrapper
-
@Fox said in Новый модуль почты:
Проще чем создать одно действие? Я из стандартного модуля изменил одну строчку, если сложно, я могу выложить это изменение в виде модуля, ну или выложить решение через curlwrapper
А, я думал это ты для нас так постарался ))
-
@gudolik said in Новый модуль почты:
auto IMAP host.MX discovery lik
Поправьте меня если я ошибаюсь, но Atlantr брутит хост,путем подставления к домену префикса: imap,mail,smtp,pop3 и так далее. Никакой особой магии и поисков из вне там не реализовано. Было: mail.com Стало: imap.mail.com ; smtp.mail.com и так далее.
Но как же быть с доменами которые имеют разные названия и хостятся на одном сервере? Для примера: casema.nl,ziggo.nl,upcmail.nl,home.nl,quicknet.nl и другие базируются на сервере: imap.ziggo.nl И подставление префикса перед доменом мало чем поможет т.к. допустим сервера с именем imap.home.nl или pop.upcmail.nl не существует в природе. Опять-же,поправьте меня если я в чем-то не прав.
Вот кусок кода который использует Atlantr для брута хоста:#------GETUNKNOWN--HOST--------------------------# def getunknown_imap(subb): socket.setdefaulttimeout(time_out) try: # TODO: Change to dynamic matchers sub = [ 'imap', 'mail', 'pop', 'pop3', 'imap-mail', 'inbound', 'mx', 'imaps', 'smtp', 'm'] for host in sub: host = host + '.' + subb try: mail = imaplib.IMAP4_SSL(str(host)) mail.login('test', 'test') except imaplib.IMAP4.error: return host except BaseException: return None def ini_uh(host): try: host = host.split('@')[1] v = getunknown_imap(host) if v is not None: with open("hoster.dat", "a") as myfile: myfile.write('\n' + host + ':' + v + ":993") ImapConfig[host] = v return v return False except BaseException: return FalseПочитал на гитхабе в документации- так и есть.
https://github.com/SUP3RIA/Atlantr
Hosts Without Settings
If no settings are found for a domain, a hardcoded list of subdomains will be used to find a valid imap server.mail, pop, pop3, imap-mail, inbound, mx, imaps, smtp, me
If there is a valid subdomain found of a domain to establish a connection to an imap server, it will be saved to hoster.dat.
-
@Dodok said in Новый модуль почты:
@Fox На данный момент метод увы не рабочий, вернее рабочий но через раз.
Вы о чём?
-
@Fox Про пост с решением проблемы https://community.bablosoft.com/topic/16804/новый-модуль-почты/50
Шас черт дернул залезть в рамблер, метод работает через раз.
-
@Dodok said in Новый модуль почты:
@Fox Про пост с решением проблемы https://community.bablosoft.com/topic/16804/новый-модуль-почты/50
Шас черт дернул залезть в рамблер, метод работает через раз.
Вы про формирование "From" целиком?
-
@Dodok said in Новый модуль почты:
@Fox Я про ошибку
Failure when receiving data from the peer
И по постам смотрю данный код ранее работал в решении вопроса.
Кроме вашего поста в этой теме нет упоминания такой ошибки. Мой код не решает ни каких проблем кроме возможности формирования "From" целиком, перечитайте ещё раз мой пост с кодом