Форум » [x]Harbour » Почта Mail RU + hb_SendMail + SSL » Ответить

Почта Mail RU + hb_SendMail + SSL

Dima: А что б он был здоров. Получил сегодня месагу [pre2] Вы получили это письмо, т.к. для просмотра почты Mail.Ru используете почтовую программу (Outlook, The Bat! и т.п.). Мы постоянно работаем над улучшением безопасности Почты Mail.Ru. Поэтому в ближайшее время на POP3 и SMTP-серверах останется только безопасная авторизация через протокол SSL http://ru.wikipedia.org/wiki/SSL . В связи с этим вам необходимо внести изменения в настройки ваших почтовых клиентов. Мы уже подготовили для вас подробную инструкцию, которую вы можете найти по адресу https://help.mail.ru/mail-help/mailer/popsmtp Не волнуйтесь, вы успеете изменить настройки — почтовые программы будут работать с текущими настройками ещё в течение месяца. При возникновении каких-либо проблем при настройке, пожалуйста, обращайтесь в Службу поддержки, просто ответив на это письмо, или написав по адресу support@corp.mail.ru. Мы обязательно поможем! [/pre2] Аутглюк я перестроил согласно https://help.mail.ru/mail-help/mailer/moexp Работает. А вот как быть с отправкой почты из Harbour ? Ну порты я сменю а как авторизоваться через SSL ? В hb_SendMail и опции вроде нет такой или я не заметил ?

Ответов - 123, стр: 1 2 3 4 5 6 7 All

Dima: дорогу укажи к ...........\contrib\hbssl\hbssl.hbc

Softlog86: у меня HARBOUR из поставки MiniGui - поэтому некоторых каталогов и файлов нет ... Дима , а в каком файле 'дорогу указывать '... ? Попутный вопрос - у меня исходники от HARBOUR 3,0 . Пойдёт ?

Dima: я кормил HBMK2 файлик свой HBP там дорогу и указал Softlog86 пишет: Попутный вопрос - у меня исходники от HARBOUR 3,0 . Пойдёт ? исходники можно и свежие взять


Dima: Softlog86 Разобрался (собрал) ? PS По ходу кусочек из ChangeLog.txt MiniGUI [pre2] * Updated: Harbour Compiler 3.2.0dev (r2014-01-21 20:41): * New: added HbSSL wrapper library and OpenSSL corresponding libraries. [/pre2]

Softlog86: Одно лечим - другое калечим . Собрал . На домашнем компе всё работает - на офисном опять чего-то не хватает .... Я так понял что в пакете HARBOUR 3.2 уже идёт поддержка SSL ....

Dima: все нужные либы (для SSL) есть в составе Минигуи

Dima: Проверенный в бою Microsoft Visual C++ 2005-2008-2010-2012-2013-2015 [04-12-2015] _http://rutracker.org/forum/viewtopic.php?t=4594892 ЗЫ Может пригодится кому.

Andrey: Dima пишет: Проверенный в бою Microsoft Visual C++ 2005-2008-2010-2012-2013-2015 [04-12-2015] А что на нём собирал ?

Dima: Andrey пишет: А что на нём собирал ? Если пакет не установлен , тогда приложение Habrour с использованием SSL во время запуска упадет с ошибкой (0xc015002)

rvu: А что сейчас с почтой из Харбора? Вроде, писали, что возможность есть. А рабочие примеры существуют?

Dima: rvu Бери да пробуй , все параметры этой функции описаны в сырцах

Alex_Cher: Dima пишет: Бери да пробуй , все параметры этой функции описаны в сырцах перерыл все параметры в сырцах по функции hb_SendMail, перекопал весь енет, месяц промучился но отправить почту с yandex на mail так и не получилось ... Запросил помощи в конфе прислать рабочие параметры hb_SendMail, ни одного дельного предложения ... Примерах C:\MiniGUI\SAMPLES нет ни одного рабочего примера ... gfilatov может хоть ты чем поможешь ?

Dima: Alex_Cher Жесть )) [pre2] FUNCTION tip_MailSend( cServer, nPort, cFrom, xTo, xCC, xBCC, cBody, cSubject, ; aFiles, cUser, cPass, cPopServer, nPriority, lRead, ; xTrace, lPopAuth, lNoAuth, nTimeOut, cReplyTo, ; lSSL, cSMTPPass, cCharset, cEncoding, cClientHost ) cServer -> Required. IP or domain name of the mail server nPort -> Optional. Port used my email server cFrom -> Required. Email address of the sender xTo -> Required. Character string or array of email addresses to send the email to xCC -> Optional. Character string or array of email addresses for CC (Carbon Copy) xBCC -> Optional. Character string or array of email addresses for BCC (Blind Carbon Copy) cBody -> Optional. The body message of the email as text, or the filename of the HTML message to send. cSubject -> Optional. Subject of the sending email aFiles -> Optional. Array of attachments to the email to send cUser -> Required. User name for the POP3 server cPass -> Required. Password for cUser cPopServer -> Required. POP3 server name or address nPriority -> Optional. Email priority: 1=High, 3=Normal (Standard), 5=Low lRead -> Optional. If set to .T., a confirmation request is send. Standard setting is .F. xTrace -> Optional. If set to .T., a log file is created (smtp-<n>.log). Standard setting is .F. If a block is passed, it will be called for each log event with the message a string, no param on session close. lPopAuth -> Optional. Do POP3 authentication before sending mail. lNoAuth -> Optional. Disable authentication methods nTimeOut -> Optional. Number os ms to wait default 10000 (10s) cReplyTo -> Optional. lSSL -> Optional. Need SSL at connect time (TLS need this param set to False) cSMTPPass -> Optional. cCharset -> Optional. cEncoding -> Optional. cClientHost -> Optional. Domain name of the SMTP client in the format smtp.example.net OR client IP surrounded by brackets as [127.0.0.1] for IPv4 or as [ipv6:address] (f.e. '[ipv6:::1]') for IPv6 Note: This parameter is optional for backwards compatibility, but should be provided to comply with RFC 2812. [/pre2] На данный момент с yandex и mail надо подключать HBSSL и включать параметр lSSL в TRUE Вопросы есть ?

alkresin: Я отправляю почту из Харборовских приложений при помощи внешних программ. Просто запускаю соответствующую программу с нужными параметрами. Сейчас использую mailsend-go: https://github.com/muquit/mailsend-go. Просто, удобно, не надо ломать голову над деталями реализации SSL в той или иной версии Харбора - там они уже реализованы.

Dima: Лови пример [pre2] proc main local aa:=repl("s",500) local komu:="test@mail.ru" // мыло куда шлем REQUEST __HBEXTERN__HBSSL__ REQUEST HB_CODEPAGE_RU866,HB_CODEPAGE_UTF8 ,HB_CODEPAGE_UTF8EX hb_cdpSelect( "RU866" ) REQUEST HB_LANG_RU HB_LANGSELECT("RU") use inetmy new ? tip_ssl() a:=seconds() if Hb_sendmail(alltrim(inetmy->smtp),; inetmy->port,; alltrim(inetmy->email),; komu, , ,aa,; "Заявка TEST", ,; alltrim(inetmy->elogin),; alltrim(inetmy->epass),alltrim(inetmy->pop3),1,,inetmy->ltrs, , , , ,inetmy->lssl , ,"cp866","base64" ) // inetmy->smtp сервер smtp // inetmy->port порт для SSL 465 или 587 // inetmy->email моё мыло // inetmy->elogin логин к моей почте // inetmy->epass пасс к моей почте //inetmy->ltrs TRUE или FALSE включает/выключает трассировку // inetmy->lssl TRUE включает SSL ? "ok" else ? .f. endif ? seconds()-a wait close all return nil [/pre2]

gfilatov2002: Alex_Cher пишет: отправить почту с yandex на mail так и не получилось Прямо сейчас отправил тестовый пример по этому маршруту. Полный текст примера: [pre2]/* * Copyright 2009 Viktor Szakats (vszakats.net/harbour) * www - http://harbour-project.org */ #require "hbssl" #require "hbtip" REQUEST __HBEXTERN__HBSSL__ #include "simpleio.ch" PROCEDURE Main( cFrom, cPassword, cTo ) IF ! tip_SSL() ? "Error: Requires SSL support" wait RETURN ENDIF hb_default( @cFrom , "hmg@ya.ru" ) hb_default( @cPassword, "MYSECRETPASSWORD" ) hb_default( @cTo , "gfilatov@inbox.ru" ) ? hb_SendMail( ; "smtp.yandex.ru", ; 465, ; cFrom, ; cTo, ; NIL /* CC */, ; {} /* BCC */, ; "It is a test message.", ; "It is a test subject", ; NIL /* attachment */, ; cFrom, ; cPassword, ; "", ; NIL /* nPriority */, ; NIL /* lRead */, ; .T. /* lTrace */, ; .F., ; NIL /* lNoAuth */, ; NIL /* nTimeOut */, ; NIL /* cReplyTo */, ; .T. ) wait RETURN [/pre2] А вот - содержание лог-файла: [pre2]20200813-09:38:42 :INETCONNECT( smtp.yandex.ru, 465 ) >> <pointer> << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETRECVLINE( <pointer>, , 512 ) >> 220 sas8-b61c542d7279.qloud-c.yandex.net ESMTP (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru) << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETSENDALL( <pointer>, 20, EHLO TIPClientSMTP<cr><lf> ) >> 20 << 20200813-09:38:42 :INETRECVLINE( <pointer>, , 512 ) >> 250-sas8-b61c542d7279.qloud-c.yandex.net << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETRECVLINE( <pointer>, , 512 ) >> 250-8BITMIME << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETRECVLINE( <pointer>, , 512 ) >> 250-PIPELINING << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETRECVLINE( <pointer>, , 512 ) >> 250-SIZE 42991616 << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETRECVLINE( <pointer>, , 512 ) >> 250-AUTH LOGIN PLAIN XOAUTH2 << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETRECVLINE( <pointer>, , 512 ) >> 250-DSN << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETRECVLINE( <pointer>, , 512 ) >> 250 ENHANCEDSTATUSCODES << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETSENDALL( <pointer>, 12, AUTH LOGIN<cr><lf> ) >> 12 << 20200813-09:38:42 :INETRECVLINE( <pointer>, , 512 ) >> 334 VXNlcm5hbWU6 << 20200813-09:38:42 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:42 :INETSENDALL( <pointer>, 14, aG1nQHlhLnJ1<cr><lf> ) >> 14 << 20200813-09:38:43 :INETRECVLINE( <pointer>, , 512 ) >> 334 UGFzc3dvcmQ6 << 20200813-09:38:43 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:43 :INETSENDALL( <pointer>, 14, aG1nM2d1cnU=<cr><lf> ) >> 14 << 20200813-09:38:43 :INETRECVLINE( <pointer>, , 512 ) >> 235 2.7.0 Authentication successful. << 20200813-09:38:43 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:43 :INETSENDALL( <pointer>, 24, MAIL FROM: <hmg@ya.ru><cr><lf> ) >> 24 << 20200813-09:38:43 :INETRECVLINE( <pointer>, , 512 ) >> 250 2.1.0 <hmg@ya.ru> ok << 20200813-09:38:43 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:43 :INETSENDALL( <pointer>, 30, RCPT TO: <gfilatov@inbox.ru><cr><lf> ) >> 30 << 20200813-09:38:44 :INETRECVLINE( <pointer>, , 512 ) >> 250 2.1.5 <gfilatov@inbox.ru> recipient ok << 20200813-09:38:44 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:44 :INETSENDALL( <pointer>, 6, DATA<cr><lf> ) >> 6 << 20200813-09:38:44 :INETRECVLINE( <pointer>, , 512 ) >> 354 Enter mail, end with "." on a line by itself << 20200813-09:38:44 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:44 :INETSENDALL( <pointer>, 582, Date: Thu, 13 Aug 2020 09:38:43 +0300<cr><lf>From: =?UTF-8?Q?hmg=40ya.ru?= <hmg@ya.ru><cr><lf>To: gfilatov@inbox.ru<cr><lf>Subject: =?UTF-8?Q?It=20is=20a=20test=20subject?=<cr><lf>Content-Transfer-Encoding: quoted-printable<cr><lf>Content-Type: text/html; charset=UTF-8<cr><lf><cr><lf><=21DOCTYPE html PUBLIC =22-//W3C//DTD HTML 4.01 Transitional//EN=22 =22h=<cr><lf>ttp://www.w3.org/TR/html4/loose.dtd=22><html><head><title>Test</title></h=<cr><lf>ead><body>Here=C3=86s the new <a href=3D=C3=B6http://ask-leo.com=C3=B6>As=<cr><lf>k Leo=21</a> logo:<br /> <img src=3D=C3=B6https://img.askleomedia.com/ask=<cr><lf>leonew.png=C3=B6 /></body></html><cr><lf> ) >> 582 << 20200813-09:38:44 :INETSENDALL( <pointer>, 5, .<cr><lf> ) >> 5 << 20200813-09:38:45 :INETRECVLINE( <pointer>, , 512 ) >> 250 2.0.0 Ok: queued on sas8-b61c542d7279.qloud-c.yandex.net as 1597300727-aH2bT371Yw-ckHWt2Uf << 20200813-09:38:45 :INETERRORCODE( <pointer> ) >> 0 << 20200813-09:38:45 :INETSENDALL( <pointer>, 6, QUIT<cr><lf> ) >> 6 << 20200813-09:38:45 :INETRECVLINE( <pointer>, , 512 ) >> 221 2.0.0 Closing connection. << 20200813-09:38:45 :INETERRORCODE( <pointer> ) >> 0 << [/pre2]

Softlog86: Доброго всем дня ! Перестала отправляться почта через HB_SENDMAIL .... до этого ШЕСТЬ ЛЕТ всё работало идеально . используется ящик на GMAIL.COM перепробовал для эксперимента и через другие (Yandex-почта и т д ) всё-равно не отправляет . что просто письмо , что с прикрепленным файлом (рассылка остатков склада) К сожалению исходники потеряны (флешку стащили в транспорте) поэтому логи посмотреть не могу . Знать-бы куда рыть ..... почтовый сервис виноват или проблема на моей стороне ? Может что-то с этими грёбаными SSL ..... а я не в курсе изменений . PS: Программу-для рассылки в принципе могу написать заново ....(Clipper/Harbour/MiniGui)

Dima: Softlog86 В курсе. Что mail.ru что GMAIL.COM , иначе чутка работают. Нужно в настройках этой почты разрешить использование сторонних приложений для отправки почты. В частности на mail.ru выдадут персональный пасс под такое приложение а на GMAIL.COM нужно галю поставить в безопасности , но если долго GMAIL.COM почту не юзать то галя снимается на автомате , какой там срок даётся не помню и читать надо. PS Полагаю с яндекс такой же фокус

Softlog86: Что-то не нашел в Gmail где ставить галочку ..... :(

Dima: копай https://support.google.com/a/answer/6260879?hl=ru



полная версия страницы