Size: a a a

2021 January 03

z

zamtmn in Delphi & Lazarus
»Core тут реализует что-то типа API, к которому доступ имеется практически из любого места программы

В таких случаях надо максимально развязывать код. Имхо. но тебе видней
источник

N

Nik in Delphi & Lazarus
zamtmn
»Core тут реализует что-то типа API, к которому доступ имеется практически из любого места программы

В таких случаях надо максимально развязывать код. Имхо. но тебе видней
там через интерфейсы всё реализовано
источник
2021 January 04

S

SuMaga in Delphi & Lazarus
Добрый день!  Друзья у меня вопрос  rad studio 10.4  устанавливается только на диск С?  Что-то я не нашел выбора места установки  или мне какой-то релиз попался непутевый?
источник

DL

Dmitry Lamdan in Delphi & Lazarus
В самом начале на первом же экране инсталлятора  кнопка Options
источник

N

Nik in Delphi & Lazarus
Привет всем. Подскажите куда смотреть, чтобы на делфи 7 почту отправить по ssl?
источник

N

Nik in Delphi & Lazarus
Вопрос мне задали, а я с делфи 7 давно не дружу.
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Nik
Привет всем. Подскажите куда смотреть, чтобы на делфи 7 почту отправить по ssl?
синапс как вариант. что бы далеко не ходить
источник

N

Nik in Delphi & Lazarus
Пример есть?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
function SendMail(const Address, Subject, MessageText: string): string;
var
Msg: TMimeMess; //собщение
StringList: TStringList; //содержимое письма
MIMEPart: TMimePart; //части сообщения (на будущее)
begin
Result := 'OK';
Msg := TMimeMess.Create; //создаем новое сообщение
try
 StringList := TStringList.Create;
 try
  //Добавляем заголовки
  Msg.Header.Subject := Subject;//тема сообщения
  Msg.Header.From := WebDataModule.MailFrom; //имя и адрес отправителя
  Msg.Header.ToList.Add(''); //имя и адрес получателя
  //создаем корневой элемент
  MIMEPart := Msg.AddPartMultipart('alternative', nil);
  StringList.Text := MessageText;
  Msg.AddPartText(StringList, MIMEPart);
  //Кодируем и отправляем
  Msg.EncodeMessage;
  if not SendToRaw(WebDataModule.MailFrom, Address, WebDataModule.MailHost, Msg.Lines,
   WebDataModule.MailLogin, WebDataModule.MailPass) then
   Result := 'CouldntSendMail';
 finally
  FreeAndNil(Msg);
 end;
finally
 FreeAndNil(StringList);
end;
end;
источник

DB

Dmitry Belkevich in Delphi & Lazarus
в SendToRaw раскоментить


// if you need support for upgrade session to TSL/SSL, uncomment next lines:
   // SMTP.AutoTLS := True;
// if you need support for TSL/SSL tunnel, uncomment next lines:
   // SMTP.FullSSL := True;
источник

DB

Dmitry Belkevich in Delphi & Lazarus
могу на индях кинуть, но оно там больше замороченное. синапс проще
источник

N

Nik in Delphi & Lazarus
Dmitry Belkevich
могу на индях кинуть, но оно там больше замороченное. синапс проще
А кинь тоже, чтобы было
источник

DK

Denis K in Delphi & Lazarus
Nik
Привет всем. Подскажите куда смотреть, чтобы на делфи 7 почту отправить по ssl?
idSMTP какой нибудь🤔
источник

N

Nik in Delphi & Lazarus
Denis K
idSMTP какой нибудь🤔
У меня и делфи 7 нет, чтобы проверить 😬
источник

DB

Dmitry Belkevich in Delphi & Lazarus
function SendMail(const Address, Subject, MessageText: string): string;
var
SMTP: TIdSMTP;
MailMessage: TIdMessage;
idSSLOpen: TIdSSLIOHandlerSocketOpenSSL;
begin
Result := 'OK';
try
 SMTP := TIdSMTP.Create(nil);
 try
  idSSLOpen := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  try
   idSSLOpen.SSLOptions.Method := sslvSSLv23;
   idSSLOpen.SSLOptions.Mode := sslmUnassigned;
   SMTP.IOHandler := idSSLOpen;
   SMTP.UseTLS := utUseImplicitTLS;
   SMTP.Host := WebDataModule.MailHost;
   SMTP.Port := WebDataModule.MailPort;
   SMTP.Username := WebDataModule.MailLogin;
   SMTP.Password := WebDataModule.MailPass;
   MailMessage := TIdMessage.Create(nil);
   try
    MailMessage.OnInitializeISO := TDummyEncode.SetCharSet;
    MailMessage.CharSet := IdCharsetNames[idcs_UTF_8];
    MailMessage.ContentType := 'text/plain; charset=utf-8';
    MailMessage.From.Address := WebDataModule.MailFrom;
    MailMessage.Recipients.EMailAddresses :=
     Address + IfThen(WebDataModule.MailCopy <> '', ';' + WebDataModule.MailCopy);
    MailMessage.Subject := Subject;
    MailMessage.Body.Text := MessageText;
    MailMessage.Date := Now;
    try
     try
      SMTP.Connect;
     except
      Exit('rsConnError');
     end;
     if WebDataModule.MailNeedAuthentication then
     begin
      SMTP.AuthType := TIdSMTPAuthenticationType(WebDataModule.MailAuthType);
      try
       if not SMTP.Authenticate then
        Exit('rsAuthError');
      except
       Exit('rsAuthError');
      end;
     end;
     try
      SMTP.Send(MailMessage);
     except
      Exit('rsSmtpError');
     end;
    finally
     if SMTP.Connected then
      SMTP.Disconnect;
    end;
   finally
    FreeAndNil(MailMessage);
   end;
  finally
   FreeAndNil(idSSLOpen);
  end;
 finally
  FreeAndNil(SMTP);
 end;
except
 Exit('rsOtherError');
end;
end;

type
TDummyEncode = class
protected
 class procedure SetCharSet(var VHeaderEncoding: char; var VCharSet: string);
end;

class procedure TDummyEncode.SetCharSet(var VHeaderEncoding: char; var VCharSet: string);
begin
VCharSet := IdCharsetNames[idcs_UTF_8];
VHeaderEncoding := 'B';
end;
источник

DB

Dmitry Belkevich in Delphi & Lazarus
не факт что на встроенной инди будет работать сразу нормально. у меня была новее
на моей версии работает нормально и ssl и кодировки
источник

N

Nik in Delphi & Lazarus
Понял. Спасибо.
источник

RS

Renat Suleymanov in Delphi & Lazarus
Можно еще посмотреть реализацию sendmail в XMailer. Он правда для FreePascal, но думаю без труда и на Delphi налезет
https://github.com/risoflora/brookfreepascal/blob/master/plugins/xmailer/src/xmailer.pas
источник

RS

Renat Suleymanov in Delphi & Lazarus
Renat Suleymanov
Можно еще посмотреть реализацию sendmail в XMailer. Он правда для FreePascal, но думаю без труда и на Delphi налезет
https://github.com/risoflora/brookfreepascal/blob/master/plugins/xmailer/src/xmailer.pas
Тоже на synapse, кстати
источник
2021 January 05

S

SuMaga in Delphi & Lazarus
Dmitry Lamdan
В самом начале на первом же экране инсталлятора  кнопка Options
Спасибо 😁 .. вот я кривоглазый😂
источник