unit MailUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Psock, NMsmtp, StdCtrls, ExtCtrls, TS_Utils;
type
TMailFrame =
class(TFrame)
NMSMTP1: TNMSMTP;
Panel1: TPanel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
MailSenden: TButton;
Label1: TLabel;
function GetIPAddress:
string;
procedure FrameEnter(Sender: TObject);
procedure NMSMTP1AuthenticationFailed(
var Handled: Boolean);
procedure NMSMTP1Failure(Sender: TObject);
procedure NMSMTP1HeaderIncomplete(
var handled: Boolean;
hiType: Integer);
procedure NMSMTP1InvalidHost(
var Handled: Boolean);
procedure NMSMTP1RecipientNotFound(Recipient:
String);
procedure NMSMTP1SendStart(Sender: TObject);
procedure NMSMTP1Success(Sender: TObject);
procedure MailSendenClick(Sender: TObject);
procedure FrameExit(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
implementation
uses mapi, winsock;
{$R *.DFM}
function TMailFrame.GetIPAddress:
string;
var phoste: PHostEnt;
Buffer:
array [0..100]
of char;
WSAData: TWSADATA;
begin
result:='
';
if WSAStartup($0101, WSAData) <> 0
then exit;
GetHostName(Buffer, SizeOf(Buffer));
phoste:=GetHostByName(buffer);
if phoste =
nil then
result:='
127.0.0.1'
else
result:=StrPas(inet_ntoa(PInAddr(phoste^.h_addr_list^)^));
WSACleanup
end;
procedure TMailFrame.FrameEnter(Sender: TObject);
begin
end;
// MAILSSENDEN
// SENDEN NCM
procedure TMailFrame.MailSendenClick(Sender: TObject);
begin
Label1.Caption:='
Verbindung zum E-Mail Server wird hergestellt...';
NMSMTP1.UserID:=Stammnummer;
IF NMSMTP1.Connected=False
THEN NMSMTP1.Connect;
NMSMTP1.SendMail;
end;
procedure TMailFrame.FrameExit(Sender: TObject);
begin
IF NMSMTP1.Connected=True
THEN NMSMTP1.Disconnect;
end;
// ###################################################
// Meldungen !!!!
// #################################
procedure TMailFrame.NMSMTP1InvalidHost(
var Handled: Boolean);
begin
Label1.Caption:='
Host ist ungültig'
end;
procedure TMailFrame.NMSMTP1RecipientNotFound(Recipient:
String);
begin
Label1.Caption:='
Empfänger konnte nicht aufgerufen werden'
end;
procedure TMailFrame.NMSMTP1SendStart(Sender: TObject);
begin
Label1.Caption:='
Es wird versucht, die Nachricht zu versenden'
end;
procedure TMailFrame.NMSMTP1Success(Sender: TObject);
begin
Label1.Caption:='
Nachricht konnte erfolgreich zugestellt werden'
end;
procedure TMailFrame.NMSMTP1AuthenticationFailed(
var Handled: Boolean);
begin
Label1.Caption:='
Benutzerkennung ist ungültig'
end;
procedure TMailFrame.NMSMTP1Failure(Sender: TObject);
begin
Label1.Caption:='
Nachricht konnte nicht versandt werden'
end;
procedure TMailFrame.NMSMTP1HeaderIncomplete(
var handled: Boolean;
hiType: Integer);
begin
Label1.Caption:='
Es fehlt der Absender bzw. der Empfänger'
end;
end.