Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Email über Outlook Express direkt (ohne Fenster) versenden (https://www.delphipraxis.net/197588-email-ueber-outlook-express-direkt-ohne-fenster-versenden.html)

Helmi 19. Aug 2018 18:22

Email über Outlook Express direkt (ohne Fenster) versenden
 
Hallo Zusammen,

ich hab einen WHS (Windows Home Server) und über die Konsole werden CPU-Status-Emails vom System her versendet.
Dabei verwendet die Konsole Outlook Express, um diese Emails zu versenden.

Diese Emails werden direkt versendet, ohne dass sich zuvor ein Fenster öffnet.

Auf dem WHS läuft eine Anwendung von mir, in der ich ebenfalls über Outlook Express eine Email versenden will, auch ohne dass sich ein Fenster öffnet.

Wie könnt ich das bewerkstelligen?

KodeZwerg 19. Aug 2018 18:33

AW: Email über Outlook Express direkt (ohne Fenster) versenden
 
So sendest Du über Standard Mail Client ohne Fenster.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
begin
  s := 'mailto:MaxMuster@mann.de';
  s := s + '?Subject=Delphi-PRAXiS';
  s := s + '&Body=Inhalt';
  s := s + '&Attach=""C:\TestDate.txt""';
  ShellExecute(handle, 'open', PChar(s), nil, nil, SW_SHOWNORMAL);
end;

Luckie 19. Aug 2018 18:40

AW: Email über Outlook Express direkt (ohne Fenster) versenden
 
Müsste der letzte Parameter nicht SW_HIDE sein, wenn kein Fenster angezeigt werden soll?

Helmi 19. Aug 2018 18:41

AW: Email über Outlook Express direkt (ohne Fenster) versenden
 
Mit SW_SHOWNORMAL, wie auch mit SW_HIDE wird trotzdem ein Fenster angezeigt

KodeZwerg 19. Aug 2018 18:56

AW: Email über Outlook Express direkt (ohne Fenster) versenden
 
Klappt es so ohne Fenster bei Dir?
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  Outlook, Mailitem: OLEVariant;
begin
  try
    Outlook := GetActiveOleObject('Outlook.Application');
  except
    Outlook := CreateOleObject('Outlook.Application');
  end;
  MailItem := Outlook.CreateItem(0);
  MailItem.Recipients.Add('MaxMuster@mann.de');
  MailItem.Subject := 'Delphi-PRAXiS';
  MailItem.Body := 'Inhalt';
  MailItem.Attachments.Add('C:\TestDatei.txt');
  MailItem.Send;
  Outlook := Unassigned;
end;

Helmi 19. Aug 2018 21:08

AW: Email über Outlook Express direkt (ohne Fenster) versenden
 
Zitat:

Zitat von KodeZwerg (Beitrag 1411101)
Klappt es so ohne Fenster bei Dir?
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  Outlook, Mailitem: OLEVariant;
begin
  try
    Outlook := GetActiveOleObject('Outlook.Application');
  except
    Outlook := CreateOleObject('Outlook.Application');
  end;
  MailItem := Outlook.CreateItem(0);
  MailItem.Recipients.Add('MaxMuster@mann.de');
  MailItem.Subject := 'Delphi-PRAXiS';
  MailItem.Body := 'Inhalt';
  MailItem.Attachments.Add('C:\TestDatei.txt');
  MailItem.Send;
  Outlook := Unassigned;
end;

Delphi-Quellcode:
uses
  ComObj;
fehlt dabei noch.

Unter Windows 10 mit Outlook funktioniert der Code, auf dem WHS (was annähernd Windows Server 2003 ist) mit Outlook Express funktioniert es nicht.
Fehlermeldung: "Ungültiges Klassenzeichenfolge, ProgID: "Outlook.Application"

Delphi.Narium 19. Aug 2018 21:20

AW: Email über Outlook Express direkt (ohne Fenster) versenden
 
Outlook.Application ist halt nicht Outlook Express sondern Outlook.

Hilft davon was weiter?
https://social.msdn.microsoft.com/Fo...forum=exceldev

KodeZwerg 19. Aug 2018 22:00

AW: Email über Outlook Express direkt (ohne Fenster) versenden
 
Zitat:

Zitat von Helmi (Beitrag 1411103)
Unter Windows 10 mit Outlook funktioniert der Code, auf dem WHS (was annähernd Windows Server 2003 ist) mit Outlook Express funktioniert es nicht.
Fehlermeldung: "Ungültiges Klassenzeichenfolge, ProgID: "Outlook.Application"

Ohhh, das wusste ich nicht das Microsoft da anders vorgeht. Hmmmm weder ShellExecute noch über OLE klappts.
Nach ein wenig lesen über Express bin ich nicht wirklich schlauer geworden um Deine Anfrage zufrieden stellend beantworten zu können. Es lautet überall ein Nein zum Hintergrund Senden mit der Express.
Da Du eine Console-Application hast die das ja anscheinend kann, frag ich einfach mal nach ob Du die hier hochladen kannst? Da könnte man ja mal reinschauen wie es diese .exe anstellt.

Alternativ auf Indy Mail o.ä..

Dalai 20. Aug 2018 03:31

AW: Email über Outlook Express direkt (ohne Fenster) versenden
 
Im Zweifel geht auch Blat, Bmail oder ein anderer Kommandozeilen-Mailer.

Grüße
Dalai

Helmi 20. Aug 2018 04:36

AW: Email über Outlook Express direkt (ohne Fenster) versenden
 
Zitat:

Zitat von Dalai (Beitrag 1411108)
Im Zweifel geht auch Blat, Bmail oder ein anderer Kommandozeilen-Mailer.

Grüße
Dalai

Es muss ja auch eine Möglichkeit mit den Board-eigenen Mitteln geben.
Schließlich kann das die WHS-Konsole ja auch


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz