О да, и пожалуйста, добавьте модуль для Powerpoint, Paint и встроенный калькулятор :D
Новый модуль почты
-
@Bigma said in Новый модуль почты:
@FastSpace а ты там брал ? не развод ?
Они давно на рынке, не развод
-
@Bigma said in Новый модуль почты:
@FastSpace а ты там брал ? не развод ?
У них дорого только, есть гораздо дешевле.
-
@FastSpace ты про валандерси ?
-
• Удаление всех сообщений
• Удаление сообщение по ид
• Активировать imap -
@Bigma said in Новый модуль почты:
@FastSpace ты про валандерси ?
Я спрашивал, у него вообще таких нет.
-
@artihorror said in Новый модуль почты:
Скажу про смтп - главное - чтоб отдавал ошибки без дополнительных действий как сейчас (включить отладку) и отдавал их в читаемом варианте. Особенно ошибки смтп протокола 5хх.
Ах да, еще возможность добавить получателей скрытой копии
-
@artihorror said in Новый модуль почты:
@artihorror said in Новый модуль почты:
Скажу про смтп - главное - чтоб отдавал ошибки без дополнительных действий как сейчас (включить отладку) и отдавал их в читаемом варианте. Особенно ошибки смтп протокола 5хх.
Ах да, еще возможность добавить получателей скрытой копии
и продолжаю добавлять хотелки.
Возможность добавлять свои заголовки в письмо. Возможность использовать dkim подпись
-
@artihorror said in Новый модуль почты:
Возможность использовать dkim подпись
Это делает сервер через который отправляется письмо своим закрытым ключом, а не клиент
-
@UserTrue said in Новый модуль почты:
@artihorror said in Новый модуль почты:
Возможность использовать dkim подпись
Это делает сервер через который отправляется письмо своим закрытым ключом, а не клиент
а вот тут ты не до конца прав) только что отправлено через почтовый модуль баса и то же письмо, отправленное из вебморды майл ру имеет сию подпись. Правда использую я майл ру почту для домена, по сему пропали мои влажные мечты о 100500 в секунду в инбокс с помощью баса, вот сижу переписываю все на nodemailer.
-
@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.