ActiveX SMTP Delphi 7

- Active X DLL . . , ASP- , . ASP- ActiveX , .

Delphi 7. . .

File->New->Other

 

  Active X. ActiveX Library.

“MailClient”. File->New->Other

Automation Object.
:

CoClass Name. “SMTP”. , .
. Type Library.

  , : View->Type Library.
ISMTP. . - . , : “SendEmail”. “Refresh”. “unit1”. “SMTP”.

 , SMTP SendMail. , : MsgInitializeISO. OnInitializeISO TIdSMTP. .

“SMTP” :

unit SMTP;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
  ComObj, ActiveX, MailClient_TLB, StdVcl, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdMessageClient, IdPOP3, IdMessage, IdSMTP, IdCoderHeader;

type
  TSMTP = class(TAutoObject, ISMTP)
  IdMessage: TIdMessage;
  SMTP: TIdSMTP;
  sEmailMessage: WideString;
  sEmailFrom: WideString;
  sEmailHost: WideString;
  sEmailSubject: WideString;
  sEmailTo: Wide
String;
  procedure MsgInitializeISO(var VTransferHeader: TTransfer; var VHeaderEncoding: Char; var VCharSet: String);
  protected
  procedure SendEmail; safecall;
  procedure Set_EmailFrom(const Value: WideString); safecall;
  procedure Set_EmailHost(const Value: WideString); safecall;
  procedure Set_EmailMessage(const Value: WideString); safecall;
  procedure Set_EmailSubject(const Value: WideString); safecall;
  procedure Set_EmailTo(const Value: WideString); safecall;
  end;

implementation


uses ComServ;

procedure TSMTP.SendEmail;
var
  LSMTP: TIdSMTP;
  LMsg: TIdMessage;

begin

  LSMTP := TIdSMTP.Create(nil); //Ñîçäàåìñÿ
  LMsg := TIdMessage.Create(LSMTP);
  with LMsg do

  begin
  OnInitializeISO:=MsgInitializeISO;
  ContentType:='text/html; charset=windows-1251';
  Subject := sEmailSubject; // Çäåñü ââîäèì òåìó
  Recipients.EMailAddresses := sEmailTo; // Ïðèíèìàòåëü
  From.Text := sEmailFrom; // Îòñûëàòåëü
  Body.Clear();
  Body.Add(sEmailMessage);
  end;
  with LSMTP do
  begin
  AuthenticationType:=atNone;
  Host := sEmailHost;
  Port := 25;
  try
  Connect;
  Send(LMsg);
  except
  end;
  end;
  FreeAndNil(LMsg);
  FreeAndNil(LSMTP);
end;

procedure TSMTP.Set_EmailFrom(const Value: WideString);
begin
  sEmailFrom:=Value;

end;

procedure TSMTP.Set_EmailHost(const Value: WideString);
begin
  sEmailHost:=Value;
end;

procedure TSMTP.Set_EmailMessage(const Value: WideString);
begin
  sEmailMessage:=Value;
end;

procedure TSMTP.Set_EmailSubject(const Value: WideString);
begin
  sEmailSubject:=Value;
end;

procedure TSMTP.Set_EmailTo(const Value: WideString);
begin
  sEmailTo:=Value;
end;

procedure TSMTP.MsgInitializeISO(var VTransferHeader: TTransfer;
  var VHeaderEncoding: Char; var VCharSet: String);
begin
 VCharSet := 'windows-1251';
 VHeaderEncoding := 'B';
end;

initialization
  TAutoObjectFactory.Create(ComServer, TSMTP, Class_SMTP,
  ciMultiInstance, tmApartment);
end.

SMTP ,
 AuthenticationType:=atNone;

 SendMail
 
 Username :='_' ;
 Password :='_ ' ; 
 AuthenticationType:=atLogin;


dll , regsvr32.

ASP-, :
<%
dim objEmail 

  Set objEmail = Server.CreateObject("MailClient.SMTP") 
  with objEmail
  .EmailHost ="smtp.mail.ru"
  .EmailFrom = "post_from@mail.ru"
  .EmailTo ="post_to@mail.ru"

  .EmailSubject = ""
  .EmailMessage = "!"
  .SendEmail  
  End With
  Set objEmail = Nothing
  Response.Write ""
end if
%>










Rambler's Top100 @Mail.ru

mdls.ru 2008-2013

03.04.2014
Проект "ЧПУ на Ардуино" перенесён на ecnc.ru
Открытый проект "Простой станок с ЧПУ на Ардуино" перенесён на http://ecnc.ru
25.01.2013
Опубликован сайт "Частный переводчик"
Частный переводчик поможет провести переговоры, осуществит последовательный, синхронный, письменный переводы. http://tran.mdls.ru
25.01.2013
Начата раработка открытого проекта "Станок с ЧПУ"
Как сделать простой станок с ЧПУ на базе Arduino стоимостью менее 100$ своими руками. http://cnc.mdls.ru.
25.10.2011
"Юристы помогают" перенесён на lawshelp.ru
Проведена смена домена urist.mdls.ru на lawshelp.ru. Теперь обсудить задачи из любых отраслей Права можно на сайте www.lawshelp.ru