Hallo zusammen,
ich habe ein Problem mit
Indy 10, besser gesagt mit IdAttachmentFile. Der Mailversand funktioniert wunderbar, aber wenn ich IdAttachmentFile hinzufüge, verschickt er einfach die Mail mit "MailSMTP.Send(MailMessage);" nicht.
Habe IdAttachmentFile in uses eingefügt und bei der Mailvorbereitung "TIdAttachmentFile.Create(Mailmessage.MessageParts ,'test.txt');" will ich einfach die datei test.txt anhängen. Die Datei liegt auch in dem Verzeichniss wo sich die Exe auch befindet. Eine Fehlermeldung gibt es nicht, er macht es einfach nicht, ist auch sehr komisch
Könnt ihr mir da helfen, damit ich auf einfachem Weg eine Datei anhängen kann ?
Die Demos von
Indy 10 bringen mich leider noch nicht weiter.
Edit:
Hier noch der Code:
Delphi-Quellcode:
uses
Windows,
Messages,
SysUtils,
Classes,
Graphics,
Controls,
SvcMgr,
Dialogs,
IniFiles,
DB,
DBTables,
IdAttachmentFile,
IdComponent,
IdTCPConnection,
IdTCPClient,
IdExplicitTLSClientServerBase,
IdMessageClient,
IdSMTPBase,
IdSMTP,
IdBaseComponent,
IdMessage,
ExtCtrls;
var
Service1 : TService1;
MailMessage: TIdMessage;
//Message der Mail
MailSMTP: TIdSMTP;
//SMTP Verbindung
//beim starten dann
MailMessage := TIdMessage.Create;
MailSMTP := TidSMTP.Create;
Delphi-Quellcode:
function TService1.SendMail(toMail:
string; Datei:
string; Betreff:
string): boolean;
begin
result := true;
with MailMessage
do
begin
// Name des Absenders
From.Text := '
*******;
//E-Mail-Adressen der Empfänger (durch Komma getrennt)
Recipients.EMailAddresses := toMail;
//Betreff (Subject) der Mail
Subject := Betreff;
//Priorität
Priority := mpNormal;
//Content Typ
ContentType := 'multipart/mixed'
;
end;
//Anhang
TIdAttachmentFile.Create(Mailmessage.MessageParts,'test.txt'
);
//Authentifizierung nötig?
MailSMTP.AuthType := atDefault;
//Benutzerdaten für Authentifizierung
MailSMTP.Username := '*******'
;
MailSMTP.Password := '*******'
;
//Server-Daten
MailSMTP.Host := '
smtp-gateway.de'
;
MailSMTP.Port := 25;
try
MailSMTP.Connect;
except
writelog('Fehler beim
SMTP Verbinden'
);
result := false;
end;
try
try
MailSMTP.Send(MailMessage);
except
writelog('Fehler beim Sendevorgang'
);
result := false;
end;
finally
MailSMTP.Disconnect;
end;
end;
MFG
Cyberbob