ok an den Parametern kann es nicht liegen
also per Powershell geht es mit genau den Einstellungen

aber in Programm selber überspringt er immer noch diese Stelle:
Code: Alles auswählen
if SMTP.Login then
begin
result := SMTP.MailFrom(MailFrom, Length(MailData)) and
SMTP.MailTo(MailTo) and
SMTP.MailData(sl);
SMTP.Logout;
end;
Die werte stehen auch alle richtig in den Variablen drin
Code: Alles auswählen
uses
Classes,
smtpsend,
ssl_openssl,
SQLData,
SysUtils,
FileUtil,
Forms,
Controls,
Graphics,
Dialogs,
StdCtrls;
Code: Alles auswählen
function SendMail(MailTo, MailData: string): Boolean;
var
SMTP : TSMTPSend;
sl : TStringList;
User : String;
Password : String;
MailFrom : String;
SMTPHost : String;
SMTPPort : String;
begin
User := SQLData.Data.MailUser;
Password := SQLData.Data.MailPassword;
MailFrom := SQLData.Data.MailFrom;
SMTPHost := SQLData.Data.SMTPHost;
SMTPPort := SQLData.Data.SMTPPort;
Result := False;
SMTP := TSMTPSend.Create;
sl := TStringList.Create;
try
sl.text := Maildata;
SMTP.UserName := User;
SMTP.Password := Password;
SMTP.TargetHost:= SMTPHost;
SMTP.TargetPort:= SMTPPort;
SMTP.AutoTLS := True;
if Trim(SMTPPort)<>'25' then
SMTP.FullSSL:=true; // if sending to port 25, don't use encryption
if SMTP.Login then
begin
result := SMTP.MailFrom(MailFrom, Length(MailData)) and
SMTP.MailTo(MailTo) and
SMTP.MailData(sl);
SMTP.Logout;
end;
finally
SMTP.Free;
sl.Free;
end;
end;
und weils so schön ist das Powershell script
Code: Alles auswählen
PS C:\Users\admin> $EmailFrom = "test@test.de"
PS C:\Users\admin> $EmailTo = "ziel@schlumpfhausn.de"
PS C:\Users\admin> $Subject = "Testmail"
PS C:\Users\admin> $Body = "bla bla"
PS C:\Users\admin> $SMTPServer = "smtp.1und1.de"
PS C:\Users\admin> $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
PS C:\Users\admin> $SMTPClient.EnableSsl = $true
PS C:\Users\admin> $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("test@test.de","passwort");
PS C:\Users\admin> $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
ich bin grade echt ratlos
was könnte ich denn noch probieren?
was habe ich übersehen?