Einzelnen Beitrag anzeigen

Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#1

eMail mit Anhang versenden XE5 / Outlook 2013

  Alt 8. Aug 2014, 10:38
Hallo zusammen,

hatte bisher mails mit Anhang unter Delphi 2007 und Outlook 2003 versendet, Indy funktionierte einwandfrei. Nun habe ich Delphi XE5 und Outlook 2013 und ich bekomme immer die Fehlermeldung : Socket-Fehler#10013Zugriff verweigert.

Habe schon alle möglichen Lösungsansätze die ich in verschiedenen Foren gefunden hatte, ausprobiert - leider ohne Erfolg. Hatte jemand das selbe Problem und kennt die Lösung?

Hier mal der letzte Stand meines source

Code:
var
   SR: TSearchRec;
   F : textfile;
   S : string;
   i : integer;

   Fehler : boolean;

begin

  assignfile(F,Arbeitsverzeichnis + Mailkontodat);
  reset(F);
  Listbox_versand.Clear;
  try
    while not eof(F) do
    begin
      readln(F,S);
      Listbox_versand.items.Add(S);
    end;
  finally
    closefile(F);
  end;

  // Message
  idmessage1.Clear;
  idSMTP1.Host := Listbox_versand.Items[2];
  idSMTP1.Port := 25;
  idSMTP1.AuthType := satDefault; {satNone wenn keine Authentifizierung benötigt wird}
  idSMTP1.Username := Listbox_versand.Items[3];
  idSMTP1.Password := Entschluesseln(Listbox_versand.Items[4]);
  IdMessage1.From.Text := Listbox_versand.Items[0];
  IdMessage1.Recipients.EMailAddresses := Listbox_versand.Items[1]; // Empfänger
  IdMessage1.BccList.EMailAddresses := ''; {optional Blincopy Empfänger}
  IdMessage1.CCList.EMailAddresses := ''; {optional Copy Empfänger}
  IdMessage1.Subject := 'Betreff';
  IdMessage1.ContentType := 'multipart/*'; // weil mit Text und Anhang
  //IdMessage1.ContentType := 'text/plain'; // weil nur Text

  IdMessage1.Body.Clear;
  IDMessage1.Body.Text := 'Indy Testmail';

  {es werden die Dateinamen ohne Pfad der im Versandverzeichnis befindlichen Dateien in die Listbox_versand kopiert}
  Listbox_versand.Clear;
  if FindFirst(Versandverzeichnis + '*.*', faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr <> faDirectory) then
      begin
        Listbox_versand.Items.Add(SR.Name);
      end;
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;

  {Anhänge einlesen}

  for I := 0 to Listbox_versand.Count -1 do
  begin
    TIdAttachmentFile.Create(idMessage1.MessageParts,Versandverzeichnis + Listbox_versand.Items[i]);
  end;

  try
    try
      IdSMTP1.Connect;
      IdSMTP1.Authenticate; {nicht zwingend erforderlich}
      if idSMTP1.Connected then IdSMTP1.Send(IdMessage1);
    except on E:Exception do
      begin
        showmessage(e.Message);
        fehler := true;
      end;
    end;
  finally
    if idSMTP1.Connected then IdSMTP1.Disconnect();
  end;

  if fehler = false then showmessage('die Nachricht wurde erfolgreich versendet');

end;
weiss echt nicht mehr weiter

hoffe auf eure Hilfe - Danke - Gruß Sidi
  Mit Zitat antworten Zitat