Отправка электронной почты в Delphi - PullRequest
0 голосов
/ 23 октября 2019

Моя проблема заключается в следующем: я пытаюсь отправить электронное письмо с Delphi 7, но когда я пытаюсь отправить его, я получаю сообщение об ошибке.

Возможно, это проблема только TIdSMTP, что он не можетподключиться к серверу smtps, но я не нашел другого компонента для отправки почты с delphi 7.

Мой код такой:

unit Unit1;

interface

uses
  inifiles, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdMessageClient, IdSMTP, DB, DBTables, ExtCtrls,
  ComCtrls, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    Button1: TButton;
    MailMessage: TIdMessage;
    SMTPS: TIdSMTP;
    AttachmentDialog: TOpenDialog;
    Body: TMemo;
    StatusMemo: TMemo;
    Timer1: TTimer;

    procedure Button1Click(Sender: TObject);
  private

  public
    Host : string;
    Port : string;
    Username : string;
    Password : string;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Host, Username, Password : string;
begin

   Host     := 'smtps.aruba.it'; //Aruba SMTPS Host
   Username := 'xxxx@xxxxxxx.xxx';
   Password := 'yyyyyyyy';

  //setup SMTP
  SMTPS.Host := Host;
  SMTPS.Port := 465;//SMTPS Port of Aruba
  SMTPS.Username := Username;
  SMTPS.Password := Password;

  //setup mail message
  MailMessage.From.Address := 'xxxxx@xxxxxxxx.xxx';

  MailMessage.Subject := 'Subject';
  MailMessage.Body.Text := 'Body Text';

  //send mail
  try
    try
      SMTPS.Connect(1000);
      SMTPS.Send(MailMessage);
    except on E:Exception do
      showmessage(E.message);
    end;
  finally
    if SMTPS.Connected then SMTPS.Disconnect;
  end;

end;

end.

Ошибка такая:

Соединение закрыто изящно

1 Ответ

0 голосов
/ 24 октября 2019

У меня была точно такая же проблема, поэтому я написал приложение, которое находит правильные настройки для меня. Исходный код, на который вы можете посмотреть: https://github.com/Edijus/Email-Settings-Getter В основном, он проходит через все возможные TIdSMTPAuthenticationType, TIdSSLVersion, TIdUseTLS

...