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?