AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy IdAttachment, zu viele Paramenter ??
Thema durchsuchen
Ansicht
Themen-Optionen

Indy IdAttachment, zu viele Paramenter ??

Ein Thema von hitmiccs · begonnen am 21. Jul 2005 · letzter Beitrag vom 15. Feb 2006
 
Benutzerbild von hitmiccs
hitmiccs

Registriert seit: 15. Mär 2005
Ort: Bous
15 Beiträge
 
#1

Indy IdAttachment, zu viele Paramenter ??

  Alt 21. Jul 2005, 09:14
Hallo.

Ich versuche gerade, mit IdAttachment (Indy 10) eine EMail mit Anhang zu verschicken, wenn ich aber TIdAttachment.Create(msg.MessageParts,btDatei); benutze kommt die Fehlermeldung: Zu viele Parameter...

Ich hab mit der Forensuche ein paar Beiträge mit diesem Thema gefunden und bei den anderen soll das so funktionieren, hier der Rest von der Mail-versende-Prozedur:
Delphi-Quellcode:
procedure Tbtagesbericht.send_per_mailClick(Sender: TObject);
var msg: TIdMessage;
   smtp: TIdSMTP;
   atta: TIdAttachment;
   pfad: string;
begin
  msg:=TidMessage.Create;
  smtp:=TidSMTP.Create(nil);
   msg.Clear;
   msg.Body.Text:='Archivdatei vom '+DatetoStr(Now);
   msg.From.Address := 'lalilu@gmx.de';
   msg.Recipients.EMailAddresses := 'lalilu@gmx.de';
   msg.Subject := 'Zeugs halt';
// pfad:=ExtractFilePath('Maengeldatenbank.exe');
// pfad:= pfad+btDateiname;

   TIdAttachment.Create(msg.MessageParts,btDatei);

   smtp.Host := 'mail.gmx.net';
   smtp.Username := 'lalilu@gmx.de';
   smtp.Password := 'gehtkeinenwasan';
   smtp.Port := 25;
   // Am Server Anmelden und abschicken
   SMTP.Connect;
   SMTP.Send(Msg);
   sleep(3000);
   showmessage('Datei wurde versendet!');
end;
Ohne die TIdAttachment-Geschichte funktioniert alles, die Mail kommt auch an, nur fehlt halt die Datei, und das wäre das wichtigste

Danke für evtl. Lösungsvorschläge!

:EDIT:

Ich hab jetzt auch mal folgenden Code ausprobiert:
Delphi-Quellcode:
Procedure SendMail(Subject,Mailtext,
                   FromName,FromAdress,
                   ToName,ToAdress,
                   AttachedFileName,
                   DisplayFileName:string;
                   ShowDialog:boolean);
var
  MapiMessage : TMapiMessage;
  MError : Cardinal;
  Empfaenger : Array[0..1] of TMapiRecipDesc;
  Absender : TMapiRecipDesc;
  Datei : Array[0..1] of TMapiFileDesc;
begin
  with MapiMessage do begin
    ulReserved := 0;

    // Betreff
    lpszSubject := PChar(Subject);

    // Body
    lpszNoteText := PChar(Mailtext);

    lpszMessageType := nil;
    lpszDateReceived := nil;
    lpszConversationID := nil;
    flFlags := 0;

    // Absender festlegen
    Absender.ulReserved:=0;
    Absender.ulRecipClass:=MAPI_ORIG;
    Absender.lpszName:= PChar(FromName);
    Absender.lpszAddress:= PChar(FromAdress);
    Absender.ulEIDSize:=0;
    Absender.lpEntryID:=nil;
    lpOriginator := @Absender;

    // Empfänger festlegen (Hier: nur 1 Empfänger)
    nRecipCount := 1;

    Empfaenger[0].ulReserved:=0;
    Empfaenger[0].ulRecipClass:=MAPI_TO;
    Empfaenger[0].lpszName:= PChar(ToName);
    Empfaenger[0].lpszAddress:= PChar(ToAdress);
    Empfaenger[0].ulEIDSize:=0;
    Empfaenger[0].lpEntryID:=nil;
    lpRecips := @Empfaenger;

    // Dateien anhängen (Hier: nur 1 Datei)
    nFileCount := 1;

    // Name der Datei auf der Festplatte
    Datei[0].lpszPathName:= PChar(AttachedFilename);

    // Name, der in der Email angezeigt wird
    Datei[0].lpszFileName:= PChar(DisplayFilename);
    Datei[0].ulReserved:=0;
    Datei[0].flFlags:=0;
    Datei[0].nPosition:=Cardinal(-1);
    Datei[0].lpFileType:=nil;
    lpFiles := @Datei;

  end;

  // Senden
  if ShowDialog then
    MError := MapiSendMail(0, Application.Handle,
      MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI, 0)
  else
    // Wenn kein Dialogfeld angezeigt werden soll:
    MError := MapiSendMail(0, Application.Handle, MapiMessage, 0, 0);

  Case MError of
    MAPI_E_AMBIGUOUS_RECIPIENT:
      MessageDlg('Empfänger nicht eindeutig. (Nur möglich, wenn Emailadresse nicht angegeben.)',mterror,[mbok],0);
   
    MAPI_E_ATTACHMENT_NOT_FOUND:
      MessageDlg('Datei zum Anhängen nicht gefunden',mterror,[mbok],0);
   
    MAPI_E_ATTACHMENT_OPEN_FAILURE:
      MessageDlg('Datei zum Anhängen konnte nicht geöffnet werden.',mterror,[mbok],0);

    MAPI_E_BAD_RECIPTYPE:
      MessageDlg('Empfängertyp nicht MAPI_TO, MAPI_CC oder MAPI_BCC.',mterror,[mbok],0);

    MAPI_E_FAILURE:
      MessageDlg('Unbekannter Fehler.',mterror,[mbok],0);

    MAPI_E_INSUFFICIENT_MEMORY:
      MessageDlg('Nicht genug Speicher.',mterror,[mbok],0);

    MAPI_E_LOGIN_FAILURE:
      MessageDlg('Benutzerlogin (z.B. bei Outlook) fehlgeschlagen.',mterror,[mbok],0);

    MAPI_E_TEXT_TOO_LARGE:
      MessageDlg('Text zu groß.',mterror,[mbok],0);

    MAPI_E_TOO_MANY_FILES:
      MessageDlg('Zu viele Dateien zum Anhängen.',mterror,[mbok],0);

    MAPI_E_TOO_MANY_RECIPIENTS:
      MessageDlg('Zu viele Empfänger angegeben.',mterror,[mbok],0);

    MAPI_E_UNKNOWN_RECIPIENT: MessageDlg('Empfänger nicht in Adressbuch gefunden. '+
     '(Nur möglich, wenn Emailadresse nicht angegeben.)',mterror,[mbok],0);

    MAPI_E_USER_ABORT:
      MessageDlg('Benutzer hat Senden abgebrochen oder MAPI nicht installiert.',mterror,[mbok],0);

    SUCCESS_SUCCESS:
      MessageDlg('Erfolgreich !!! (Aber Absenden nicht garantiert.)',mtinformation,[mbok],0);

  End;
end;
Jedoch kommt beim klick auf "Senden" ein fenster mit der Meldung: "Benutzer hat senden abgebrochen oder MAPI nicht installiert." Ich hab keine Ahnung was ich noch machen soll, will doch nur ne kleine Datei per Email verschicken
If anything can go wrong, it will !

Murphy's Law
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz