Seite 1 von 1

Mailversand und Exchange und Outlook

Verfasst: Di, 07. Sep 2021 11:50
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

Re: Mailversand und Exchange und Outlook

Verfasst: Di, 07. Sep 2021 12:37
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

Re: Mailversand und Exchange und Outlook

Verfasst: Di, 07. Sep 2021 13:14
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

Re: Mailversand und Exchange und Outlook

Verfasst: Di, 07. Sep 2021 14:15
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

Re: Mailversand und Exchange und Outlook

Verfasst: Di, 07. Sep 2021 14:26
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 ;)

Re: Mailversand und Exchange und Outlook

Verfasst: Di, 07. Sep 2021 14:32
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

Re: Mailversand und Exchange und Outlook

Verfasst: Di, 07. Sep 2021 16:09
von ramses
Hallo Jan

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

Re: Mailversand und Exchange und Outlook

Verfasst: Mi, 09. Feb 2022 18:24
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:

Re: Mailversand und Exchange und Outlook

Verfasst: Fr, 11. Feb 2022 19:36
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 :?: