![]() |
eMail mit Anhang versenden XE5 / Outlook 2013
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:
weiss echt nicht mehr weiter :cry:
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; hoffe auf eure Hilfe - Danke - Gruß Sidi |
AW: eMail mit Anhang versenden XE5 / Outlook 2013
Kannst du ein Minimalbeispiel zu "Verschicke einfache Textnachricht" einstellen? Dann kann jemand mit XE5 und Outlook2013 (wie ich) das auch nachstellen.
Vor allem: Wo kommt die Exception? Connect, Authenticate oder Send? |
AW: eMail mit Anhang versenden XE5 / Outlook 2013
hier mal ein Minimalbeispiel
im Form muss aus der Indy Komponentenpallete eine TidMessage und TidSMTP Komponente gezogen sein.
Code:
var SR: TSearchRec; F : textfile; S : string; i : integer; Fehler : boolean; begin // Message idmessage1.Clear; idSMTP1.Host := 'smtpmail.t-online.de'; idSMTP1.Port := 25; idSMTP1.AuthType := satDefault; {satNone wenn keine Authentifizierung benötigt wird} idSMTP1.Username := 'dein Username'; idSMTP1.Password := 'dein Passwort'; IdMessage1.From.Text := 'absender@sowiso.de'; IdMessage1.Recipients.EMailAddresses := 'Empfänger@sowieso.de'; // 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.Body.Clear; IDMessage1.Body.Text := 'Indy Testmail'; 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; |
AW: eMail mit Anhang versenden XE5 / Outlook 2013
Was hat das mit Outlook zu tun?
Du versendest per SMTP direkt an den Server. Dieser muss nun natürlich SMTP zulassen. |
AW: eMail mit Anhang versenden XE5 / Outlook 2013
Zitat:
|
AW: eMail mit Anhang versenden XE5 / Outlook 2013
vermute mal dass es mit der Authentifizierung zu tun hat, T-Online hat auf Verschlüsselung umgestellt, man bekam eine Anleitung was in Outlook einzustellen ist. Habe jedoch keinen Plan wie ich das in Delphi umsetzen muß
|
AW: eMail mit Anhang versenden XE5 / Outlook 2013
Hallo,
die haben bestimmt auf SSL Verschlüsselung umgestellt. Suche mal im Forum oder bei Google nach Delphi Indy SSL. Da findest du Beispiele, wie man das lösen kann und welche Komponete man nehmen muss. |
AW: eMail mit Anhang versenden XE5 / Outlook 2013
Der SMTP Port bei der Telekom mit SSL (was nur noch funktionieren sollte) ist 465. Außerdem musst du dann auch die SSL Verschlüsselung in deinem Programm hinzufügen, sonst bekommst du keine Mail mehr raus. So war es zumindest bei uns.
![]() Edit: Der Mailserver heißt btw. auch nicht smtpmail sondern securesmtp |
AW: eMail mit Anhang versenden XE5 / Outlook 2013
Zitat:
Aber smtpmail lauscht mit Sicherheit auf 25, wenn er denn überhaupt noch existiert ^^. Den Socketfehler 10013 kriege ich meist bei einem Timeout. Und wenn der smtp-Server nicht mehr da ist ... Aber das ganze auf SSL umzutsellen ist kein Hexenwerk. google ist von davon. Nicht vergessen den Port 465 in der Firewall zu öffnen! |
AW: eMail mit Anhang versenden XE5 / Outlook 2013
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:33 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