Hi,
kurz aus der Hand ohne Delphi:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
IdSMTP: TIdSMTP;
IdMessage: TIdMessage;
TestStringList: TStringList;
begin
TestStringList := TStringList.Create;
IdSMTP := TIdSMTP.Create();
IdMessage := TIdMessage.Create();
try
TestStringList.Add('
Test');
// Es wird im Textfeld der EMail das Wort "Test" angegeben.
//Configure SMPTP
IdSMTP.Host := '
smtp.mail.yahoo.de';
IdSMTP.Username := Username;
IdSMTP.Password := Pw;
// Port kann bei Default leer bleiben, wird von Indy festgelegt
// IdSMTP.Port := 25; // (465 = SSL, aber dafür fehlt hier der OpenSSL Handler)
//Configure idMessage
IdMessage.From.Text := SenderMail;
{
warum Sender.Text? Und dann auch noch mit EmpfaengerMail???
Das wird Yahoo ablehenen, Du sagst damit, der Absender sei der Empfänger...
IdMessage.Sender.Text := EmpfaengerMail;
}
IdMessage.Recipients.EMailAddresses := EmpfaengerMail;
IdMessage.Subject := '
Test';
// idMessage.Body.Clear; // bei neuem Objekt nicht nötig
IdMessage.Body := TestStringList;
// Schreibt "Text" in das Textfeld der EMail
try
IdSMTP.Connect;
IdSMTP.Send(IdMessage);
IdSMTP.Disconnect;
except
On E:
Exception do
MessageDlg('
Fehler beim Senden: ' + E.
Message + '
[' + E.ClassName + '
]', mtError, [mbOK], 0);
end;
finally
IdMessage.Free;
IdSMTP.Free;
TestStringList.Free;
end;
end;
Damit erhälst Du nun auch die echte Fehlermeldung.
Übrigens: Socket-Fehler 10054 bedeutet, die Gegenstelle hat die Verbindung getrennt. Bei dem SSL Port 465 ist das ohne Nutzung von SSL ja wohl klar...
Gruß Assertor
Edit: Variablennamen korrigiert