Mailversand und Exchange und Outlook

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Mailversand und Exchange und Outlook

Beitrag von Jan »

Moin,

seit Jahren schon versende ich beim Kunden Mails über blat, wobei die Umstellung auf Xbase++ auch schon länger in den Startlöchern steht. Ansich läuft das alles perfekt. Aber gerade eben bekam ich den Hinweis, das es dabei ein großes Problem gibt: Die Mails erscheinen nicht in den Postfächern der eigentlichen Absender. Das soll angeblich so sein weil blat die halt per SMTP über den Exchange-Server in der Firma versendet. Und damit würden die nicht in den Ouutlook-Postfächern landen.

Kann ich da irgend was gegen tun? Letztendlich ist mir ja egal wie ich die versende. Nur über Outlook direkt geht nicht, weil der auf dem Mailversandserver nicht läuft. Oder kann man da im Exchange was einstellen?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Mailversand und Exchange und Outlook

Beitrag von Martin Altmann »

Moin Jan,
gib doch den Absender einfach im BCC an - dann erhält der vermeintlich sendende die Mail ebenfalls (allerdings in den Posteingang - es sei denn, nutzt entsprechende Filterregeln).

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Mailversand und Exchange und Outlook

Beitrag von Jan »

Hallo Martin,

ja, die Idee hatten wir auch schon. Aber das ist halt eben eher Krücke und Workaround. Ich würde das eigentlich gerne "korrekt" machen. Wenn das machbar ist.

Was ich dabei nicht verstehe (aber ich bin auch kein Exchange-Profi) - wenn doch sowohl Outlook als auch mein Mailversand über den Exchange laufen, und beide den korrekten Absender nutzen - warum kann der Exchange das dann nicht in das korrekte Postfach schieben, so das Outlook die Mail auch findet?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Mailversand und Exchange und Outlook

Beitrag von Martin Altmann »

Die Mail wurde über eXchange geschickt (und eXchange hat nichts damit zu tun, eine Kopie abzulegen).
Das macht ja der sendende Client (also bei euch Outlook im Normalfall).

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Mailversand und Exchange und Outlook

Beitrag von nightcrawler »

Hallo Jan,
das einfachste wird es sein, per IMAP auf den SENT Ordner zuzugreifen und dort die Kopie abzuliefern. SMTP heisst ausgeschrieben nicht umsonst SIMPLE mail transfer protocol ;)
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Mailversand und Exchange und Outlook

Beitrag von Jan »

Hallo Joachim,

die Idee mag ja gut sein. Aber "einfach" ist IMAP mit blat oder dem SMTPClient() dann leider eher nicht, denke ich.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Mailversand und Exchange und Outlook

Beitrag von ramses »

Hallo Jan

IMAP ist ein ganz anderes Protokoll als SMTP. Du müsstest einen IMAPClient verwenden. See32 kann auch IMAP.
Valar Morghulis

Gruss Carlo
EgonFrenz
Rookie
Rookie
Beiträge: 1
Registriert: Fr, 04. Feb 2022 9:39

Re: Mailversand und Exchange und Outlook

Beitrag von EgonFrenz »

Probier es doch mal damit :
Schnipp;

Code: Alles auswählen

#DEFINE olMailItem 0
#DEFINE olAppointmentItem 1
#DEFINE olTaskItem 3
#DEFINE CR CHR(13)
#DEFINE olImportanceHigh 2
#DEFINE MB_ICONINFORMATION 64 && Information message
#DEFINE MB_OK 0 && OK button only
#DEFINE OneDayInSeconds 86400

LOCAL oNameSpace, oMessage, oAppt, oTask

IF VarType(oOutlook) <> "O"

* Start or connect to Outlook

* Make it public for demonstration purposes.

RELEASE oOutlook

PUBLIC oOutlook

oOutlook = CreateObject("Outlook.Application")

ENDIF

oNameSpace = oOutlook.GetNameSpace("MAPI")

* First, set up the appointment

oAppt = oOutlook.CreateItem( olAppointmentItem )

WITH oAppt

.Subject = "Monthly Staff Meeting"

.Location = "Conference Room A"

.Start = {^ 2000/02/01 9:00}

.Duration = 90

.ReminderSet = .T.

.ReminderMinutesBeforeStart = 15

.Save()

ENDWITH

* Now, set up some associated tasks

* First, the agenda

oTask = oOutlook.CreateItem( olTaskItem )

WITH oTask

.Subject = "Staff Meeting Agenda"

.DueDate = {^ 2000/01/31 12:00}

.Categories = "Staff Meeting"

* get a reminder one day before it's due

.ReminderSet = .T.

.ReminderTime = .DueDate - OneDayInSeconds 

.Save()

ENDWITH

* Next, the snacks

oTask = oOutlook.CreateItem( olTaskItem )

WITH oTask

.Subject = "Order refreshments"

.DueDate = {^ 2000/01/30 17:00}

.Categories = "Staff Meeting"

* get a reminder half an hour ahead

.ReminderSet = .T.

.ReminderTime = .DueDate - 30*60

* Put the information about what and where to order in the task

.Body = "Get bagels and danish from the kosher bakery"

.Save()

ENDWITH

* Finally, send a notice out to all employees

OPEN DATA _SAMPLES + "TasTrade\Data\TasTrade"

USE Employee

* Create a cursor to keep track of the employees we were unable to mail to

CREATE CURSOR EmailProbs (cFullName C(40))

oMessage = oOutlook.CreateItem( olMailItem )

WITH oMessage

.Subject = "Monthly Staff Meeting"

.Body = "The monthly staff meeting will be held on " + ;

"Tuesday, February 1 at 9:00 A.M. " + ;

"in Conference Room A. Everyone is expected to attend." + ;

+ CR + CR + ;

"Please bring your sales reports for December and " + ;

"preliminary figures for January." + ;

+ CR + CR + ;

"Refreshments will be served, as usual."


.Importance = olImportanceHigh


* Now loop through Employee, adding recipients

SELECT Employee

SCAN

oRecipient = .Recipients.Add( First_Name - (" " + Last_Name ) )

IF NOT oRecipient.Resolve()

* Either this name is ambiguous or there's no 

* e-mail address for this person on file.

* Log the omission

INSERT INTO EmailProbs VALUES (oRecipient.Name)


* Remove this person

oRecipient.Delete()

ENDIF


ENDSCAN


IF .Recipients.Count > 0

* Send it

.Send()

ELSE

* No recipients, so get rid of the message

.Delete()

ENDIF

ENDWITH

* Report the failed e-mails

SELECT EmailProbs

IF RECCOUNT() = 0

MESSAGEBOX( "All e-mails sent", ;

MB_ICONINFORMATION+MB_OK, ;

"Outlook Automation Sample")

ELSE

* Build a string containing the list of failures

cFailString = ""

SCAN

cFailString = cFailString + cFullName + CR

ENDSCAN

MESSAGEBOX("E-mail was not sent to the following employees: " + ;

CR + cFailString, ;

MB_ICONINFORMATION+MB_OK, ;

"Outlook Automation Sample")

ENDIF

USE IN EmailProbs

USE IN Employee

RETURN

:banghead:
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Mailversand und Exchange und Outlook

Beitrag von AUGE_OHR »

hi EgonFrenz,

Willkommen in diesem Forum.

Jan benutzt Blat als "externe" App aber möchte die Mail "auch" in der normalen Mail Aop des User haben.
per ActiveX "könnte" man nun arbeiten aber das möchte Jan nicht.

Das Problem bei Blat ist das es IHMO kein "MAPI" unterstützt denn dann könnte man es in den "Ausgang" von Outlook legen

das funktioniert z.b. mit SocMAPI jedoch darf man NICHT (mehr) den "Editor" aufrufen sondern nur "ablegen"
in diesem Fall braucht man auch keine 3-PP Lösung.

hm im überlege gerade : CDO kann doch MAPI, oder :?:
gruss by OHR
Jimmy
Antworten